对于定位页面元素,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了。
暂时到这,有新进展,随时更新!
热门工具 换一换