Xpath 查找包含文本的定位器(Robotframework)

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

从以下代码:

付款 我想得到定位器使用关键字包含,但单词付款是 很多页面,比如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-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属性?