selenim 部分属性定位(contains)
在做web 自动化时经常会遇到前端开发修改页面元素后自动化脚本无法定位元素的问题,为了提升脚本的稳定性在做元素定位时可以使用相对路径来定位
元素定位方式:xpath 有一个根据部分属性来定位的关键字 contains 该关键字可以根据html 元素的部分属性来定位下面展示演示示列
第一种写法:定位语句://div[@id="s-top-left"]/a[1] 已经定位到新闻
第二种写法:双相对路径定位,定位语句://div[@id="head"]//a[contains(a,新闻)]
对比两种语句写法第一种://div[@id="s-top-left"]/a[1]
第二种://div[@id="head"]//a[contains(a,新闻)]
第一种时找到 a标签的 div层定位,第二种时找到最外层的div在通过a标签的文本定位到对应的元素相比第一种只要元素的文本不改变该定位就可以定位成功,反而第一种如果新增的新的标签层级发生了变化就无法定位,另外定位并没有考虑脚本执行效率方面,单纯是以稳定性方面考虑给定位做一个思路