Xpath 查找包含文本的定位器(Robotframework)
从以下代码: 付款 我想得到定位器使用关键字包含,但单词付款是 很多页面,比如payment1,payment2,payment3 并且id不是唯一的 我尝试使用下面的代码,但不适用于我Xpath 查找包含文本的定位器(Robotframework),xpath,robotframework,Xpath,Robotframework,从以下代码: 付款 我想得到定位器使用关键字包含,但单词付款是 很多页面,比如payment1,payment2,payment3 并且id不是唯一的 我尝试使用下面的代码,但不适用于我 //a[contains(.,'payment')] //span[@class='z-menu-img'] [contains(.,'payment')] //span[@class='z-menu-img'] and [contains(.,'payment')] //span[@class='z-m
//a[contains(.,'payment')]
//span[@class='z-menu-img'] [contains(.,'payment')]
//span[@class='z-menu-img'] and [contains(.,'payment')]
//span[@class='z-menu-img'] contains(.,'payment')
选项1:将其他属性与文本结合使用
//a[@class='z-menu-cnt z-menu-cnt-img' and normalize-space(.)='payment']
选项2:如果有多个元素没有唯一属性/路径,请指定位置
(//a[contains(.,'payment')])[1]
第二个xpath将标识第一次出现的包含文本“payment”的链接。您可以根据自己的兴趣更改标记名和索引。以下是xpath//tagname[@attribute='attributeValue'和contains@attribute2,'attribute2Value']。顺便说一句,您提供的上述html中的付款文本没有任何跨度。我们必须问一个明显的问题:为什么不使用Id属性?