HTML XPath按类和文本搜索



我想按类和文本查找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表达式以基于类和文本进行搜索的通用解决方案:

Class是only "myclass":

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

包含 "myclass":

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

假设以下条件:

  • 属性只包含myclass
  • innerText包含qwerty(没有任何前后空格)

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

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

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

  • 使用normalize-space():

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

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

最新更新