软件测试中实现web自动化如何使用xpath定位元素

软件测试中实现web自动化如何使用xpath定位元素,第1张

xpath 的语法 element = driver.find_element_by_xpath(xpath)

1 路径以“/”开始 表示找到满足该绝对路径的元素

2 路径以//element”开始 表示找到文档中所有满足“//”后规则的元素 如//element 表示找到所有element元素,我们推荐使用相对定位

3 路径以//* 表示所有 如//* 表示选择所有元素;

4 可以用个属性来定位 //element[@ 属性="值"] 来进行定位

5 通过层级来进行定位 //element[@属性='值'] / 子元素

如果想了解更多,可以到传智播客官网看看。

这样定位会报错。xpath是按照树的层级一层一层识别元素。在uiautomatorviewer,识别到的元素前缀都是从0开始,而转换成xpath,是需要从1开始的,类似第一个层级,第二个层级

driver.findElementByXPath(

"//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.EditText[1]");

改写下定位元素到1,继续调试下

之前写过一篇文章提到了xpath元素定位,只写了一些函数,但是不够具体。于是想再写一篇关于xpath元素的定位终极篇,相信你一定能在这里找到你需要的解决办法。

通过绝对路径方式定位(相信大家不会使用这种方式)

CSS

通过相对路径方式定位

Bash

通过元素索引定位

CSS

使用xpath属性定位(结合第2、第3中方法可以使用)

CSS

使用部分属性值匹配(最强大的方法)

Bash

使用xpath轴(未曾使用)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12063750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存