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