HTML XPath按类和文本搜索

时间:2013-05-09 16:00:41

标签: html xpath

我想按类和文本查找xpath中的所有元素。我试过这个,但它不起作用。

// [contains(@class,'myclass')] // [text()='qwerty']

我试图找到所有具有“myclass”类且文本为“qwert”的元素(这些将是span元素)

3 个答案:

答案 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)

假定以下条件:

  • class 属性仅包含myclass
  • innerText 包含qwerty(没有任何前导和尾随空格)

您可以使用以下解决方案:

//*[@class='myclass' and text()='qwerty']

如果 innerText 包含qwerty以及一些前导和尾随空格,则可以使用以下任一解决方案:

  • 使用normalize-space()

    //*[@class='myclass' and normalize-space()='qwerty']
    
  • 使用contains()

    //*[@class='myclass' and contains(., 'qwerty')]