4、selenium webdriver + java 进行元素定位时的页面跳转问题

孤人 提交于 2020-02-09 18:56:46

在使用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();

}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!