您的位置:首页 > 编程语言 > Java开发

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

2018-07-06 11:23 591 查看

在使用selenium-Java对元素进行定位时,初学者经常遇见以下两种问题:

问题一:在当前页面进行跳转时,提示 Unable to locate element

原因:driver在打开网页时,网页加载速度过慢,导致接下来的语句找不到元素;

解决办法:在跳转之前Thread.sleep(5000);

问题二:在页面跳转时产生窗口切换,提示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();

}

备注:上述语句为Java实现方式,如果使用的是Python,语句不一样。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: