1. 程式人生 > >Selenium:學習過程中遇到的坑集合

Selenium:學習過程中遇到的坑集合

在學習過程中,遇到已下問題

問題一:

ChromeDriver error “unknown error: cannot get automation extension”

我用的chrome是70以上的版本,使用之前的chromedriver.exe時,報如上錯誤。

解決辦法:很簡單,更新chromedriver.exe版本

問題二:比較坑爹。

如圖:

在這裡插入圖片描述

描述:這個登陸元素,根據F12,得到兩個。可以通過document.getElementsByClassName(‘moco-btn moco-btn-red’)檢視。這樣就導致,點選的時候,不知道這是哪一個元素。

解決辦法1:

List<WebElement> checkboxs = driver.findElements(By.className("ant-checkbox-input")); 

checkboxs.get(i).click();

缺點:後前端程式碼有改變,那麼我需要重新定位在第幾個

解決辦法2:

List<WebElement> checkboxs = driver.findElements(By.className("ant-checkbox-input"));
        System.out.println("checkboxs num is " + checkboxs.size());
        for(int i=0; i <checkboxs.size(); i++){
            System.out.println(checkboxs.get(i).getAttribute("outerHTML"));
            try {
                checkboxs.get(i).click();
                break;
            } catch (ElementNotVisibleException e) {
                continue;
            }

        }

缺點:要確認第一次的點選就是我們需要目標元素
我暫時使用的時第一種方法,畢竟時可以動業務上去確定哪一個才是我需要的。
問題完美解決。