【发布时间】:2013-05-09 16:00:40
【问题描述】:
我想按类和文本查找 xpath 中的所有元素。我已经尝试过了,但它不起作用。
//*[contains(@class, 'myclass')]//*[text() = 'qwerty']
我正在尝试查找所有具有“myclass”类且文本为“qwert”的元素(这些将是 span 元素)
【问题讨论】:
我想按类和文本查找 xpath 中的所有元素。我已经尝试过了,但它不起作用。
//*[contains(@class, 'myclass')]//*[text() = 'qwerty']
我正在尝试查找所有具有“myclass”类且文本为“qwert”的元素(这些将是 span 元素)
【问题讨论】:
//span[contains(@class, 'myclass') and text() = 'qwerty']
或
//span[contains(@class, 'myclass') and normalize-space(text()) = 'qwerty']
【讨论】:
任何寻找 XPath 表达式以基于类和文本进行搜索的人的通用解决方案:
类只有“myclass”:
//*[@class='myclass' and contains(text(),'qwerty')]
类包含“myclass”:
//*[contains(@class,'myclass') and contains(text(),'qwerty')]
【讨论】:
假设条件如下:
myclass
qwerty(没有任何前导和尾随空格)您可以使用以下解决方案:
//*[@class='myclass' and text()='qwerty']
如果 innerText 包含 qwerty 以及一些前导和尾随空格,您可以使用以下任一解决方案:
使用normalize-space():
//*[@class='myclass' and normalize-space()='qwerty']
使用contains():
//*[@class='myclass' and contains(., 'qwerty')]
【讨论】: