实际踩坑案例,当笔者在做web页面自动化的时候遇到了下面截图的情况,当我要点击工作经历的编辑按钮时,是利用索引定位的。
利用索引方式定位结果如下:(//span[@data-nick="resume-edit-icon"])[4],但是利用索引的方式有个特别严重的弊端就是比如上面的数据增加了可以编辑的数据,那么索引就不准确了,点击的肯定不是你所想要的元素,那怎么办呢?
这个时候我们就可以通过父节点的方法获取子节点。如下图,我们先定位到所需要点击的元素,然后通过他所在的层级找到他的父节点,也就是整个工作经历模块,这样我们就把范围缩小到了一个模块,就不会通过其他模块的数据增加减少而变动索引了。