美文网首页
webdriver中页面元素定位不到

webdriver中页面元素定位不到

作者: 仰望星空_4645 | 来源:发表于2018-12-29 13:21 被阅读0次

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

图1

3.2重启浏览器,打开自己要定位的页面,快捷键ctrl+p打开如下图,按住shift键,鼠标定位到对应的元素,则在query中展示出元素的xpath,右侧是元素的名字,也可自己写xpath,验证写的对不对

相关文章

网友评论

      本文标题:webdriver中页面元素定位不到

      本文链接:https://www.haomeiwen.com/subject/knmulqtx.html