selenium定位页面元素时xpath定位技巧(一)

xiaoxiao2021-02-28  6

对于定位页面元素,xpath是最强大的一种方式,优点是稳定而且万能。但是能不能用好又是另外一回事,用不好的话实在是一个坑。废话不多说,进入主题:

如上图,我们要定位“_省公司”前面的折叠按钮,xpath怎么写?很明显,这里的id='_easyui_tree_1'并不是一个很放心的固定值,tag name就更离谱了。可能id='ltree'还能靠谱点,但是能不用id就不用id(除了登录页面),事实上id是一个很好的定位利器,但是很多场景下都用不到,那么培养使用xpath的习惯和能力就非常重要,我们来写下这个例子:

逐步分析:

1.使用xpath,因为定位的是“_省公司”前面的折叠符,那么“_省公司”自己都逃不了干系,以“_省公司”为出发点,xpath=.//span[text()="_省公司"]

2.需要用到轴,折叠符是前兄弟,/preceding:siblind::span

3.前面有2个兄弟?哈哈,从“_省公司”开始往上计数,我们要找的是最上面的span,中间那个是文件夹那个的图标。第二个兄弟:[2]

组合起来:

xpath = .//span[text()="_省公司"]/preceding-sibling::span[2]

当然这里也可以直接定位到“_省公司”的父亲<div id="_easyui_tree_1" class="tree-node">,然后再往下取第一个span孩子:.//span[text()="_省公司"]/parent::div/span[1]

再看一组:

如果不想数数,就可以直接用preceding-sibling了。

暂时到这,有新进展,随时更新!

转载请注明原文地址: https://www.6miu.com/read-2400286.html

最新回复(0)