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();

}

posted @ 2020-02-09 18:02  zengfh  阅读(1757)  评论(0编辑  收藏  举报