4、selenium webdriver + java 進行元素定位時的頁面跳轉問題


在使用selenium-Java對元素進行定位時經常遇見以下兩種問題:

問題一:在當前頁面進行跳轉時,提示 Unable to locate element

原因:driver在打開網頁時,網頁加載速度過慢,導致接下來的語句找不到元素;

解決辦法:在跳轉之前Thread.sleep(3000);

問題二:在頁面跳轉時產生窗口切換,提示Unable to locate element

原因:窗口句柄還停留在上一個頁面,需要對窗口進行切換,獲得當前句柄之后,再進行跳轉,就不會出現問題了。

java實現如下:

/*
* 窗口切換,獲取窗口句柄
*/
String winHandleBefore = driver.getWindowHandle(); 
for(String winHandle : driver.getWindowHandles()) {
if (winHandle.equals(winHandleBefore)) {
continue;
}
driver.switchTo().window(winHandle); 
break;  

driver.findElement(By.linkText("基本信息")).click();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM