1、如果只是单个元素找不见,可能是元素xpath取的不对
2、我在写自动化过程中发现有一个页面好几个元素都取不到,这时就要考虑句柄
条件:打开某个页面,是重新打开了一个窗口,,对于这种情况,想在新页面上操作,就得先切换窗口了。获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了。
图1浏览器窗口的属性用句柄(handle)来识别。
String nowHandle= driver.getWindowHandle();//得到当前窗口的句柄
Set<String> handles= driver.getWindowHandles();//获取所有的窗口句柄
for(String winHandle : handles) {
if (winHandle.equals(nowHandle)){
continue;
}
driver.switchTo().window(winHandle);//当有窗口不在当前窗口时,切换新的窗口
break;
}
这样就能重新定位新页面的元素
3、chrome中有个下path helper插件,可以获取元素,也可以验证自己写的元素路径对不对
3.1,用chrome浏览器打开应用商店,搜索xpath helper,安装至本地,设置打开快捷键:我这设置的快捷键是ctrl+p
图13.2重启浏览器,打开自己要定位的页面,快捷键ctrl+p打开如下图,按住shift键,鼠标定位到对应的元素,则在query中展示出元素的xpath,右侧是元素的名字,也可自己写xpath,验证写的对不对
在
网友评论