Selenium:學習過程中遇到的坑集合
阿新 • • 發佈:2018-12-19
在學習過程中,遇到已下問題
問題一:
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; } }
缺點:要確認第一次的點選就是我們需要目標元素
我暫時使用的時第一種方法,畢竟時可以動業務上去確定哪一個才是我需要的。
問題完美解決。