如图这种前端,没有ID,class属性命名页很多一样的,请问应该怎么定位呢?


比如:我想定位一个申请类型,用xpath应该怎么写?

使用xpath定位,通过父节点的子节点进行定位;可以通过查找父节点有没有id或其他容易定位的信息然后再确定子节点来定位
举例

find_element(By.XPATH,'//*[@resource-id="com.taobao.taobao:id/rv_main_container"]/*[5]')

这里就是查找resource-id名为‘com.taobao.taobao:id/rv_main_container’下第5个子节点
更简单的直接在开发人员工具中需要定位的元素位置点击右键然后copy-copy xpath也可以有相应的定位信息

1 个赞

这种相对定位的都不稳定,可以和前端沟通一下加个id,我们就是这么做的。

同意 周杰偷 @ CaptainJi周杰偷的观点
之前拿网易还是163邮箱,编写脚本的时候,因为那个就是属于一个动态的ID变化,没法办,只能找父节点,一层一层往上找,找到一个不变的就成功了

是的,只能向上找父节点,多谢

是的,都是动态变化的,而且开发说只能在最外侧加,没办法只能向上找父节点了。