我想按类和文本查找xpath中的所有元素。我试过这个,但它不起作用。
// [contains(@class,'myclass')] // [text()='qwerty']
我试图找到所有具有“myclass”类且文本为“qwert”的元素(这些将是span元素)
答案 0 :(得分:47)
//span[contains(@class, 'myclass') and text() = 'qwerty']
或
//span[contains(@class, 'myclass') and normalize-space(text()) = 'qwerty']
答案 1 :(得分:17)
任何寻找基于类和文本搜索XPath表达式的人的通用解决方案:
班级仅 “myclass”:
//*[@class='myclass' and contains(text(),'qwerty')]
Class 包含“myclass”:
//*[contains(@class,'myclass') and contains(text(),'qwerty')]
答案 2 :(得分:0)
假定以下条件:
myclass
qwerty
(没有任何前导和尾随空格)您可以使用以下解决方案:
//*[@class='myclass' and text()='qwerty']
如果 innerText 包含qwerty
以及一些前导和尾随空格,则可以使用以下任一解决方案:
使用normalize-space()
:
//*[@class='myclass' and normalize-space()='qwerty']
使用contains()
:
//*[@class='myclass' and contains(., 'qwerty')]