2013-05-09 40 views
20

我想按类和文本在xpath中查找所有元素。我已经尝试过,但它不起作用。HTML XPath按类和文本搜索

// [包含(@class, 'MyClass的')] // [文本()= 'QWERTY']

我试图找到具有类 'MyClass的' 的所有元素文本是“QWERT”(这些将跨度元件)

回答

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

//span[contains(@class, 'myclass') and normalize-space(text()) = 'qwerty'] 
+3

该解决方案并没有为我工作。这个是 - “并且包含(。,'qwerty')”。在这里找到解决方案:http://stackoverflow.com/questions/19503721/xpath-find-a-node-whose-class-attribute-matches-a-value-and-whose-text-contains – Andrejs 2016-06-13 12:08:24

+0

@Andrey Writing“this没有告诉你所做的事情不是非常有用的。在任何情况下,上述代码对于本主题中的问题都是正确的,如果您的情况不同,您不能仅仅复制和粘贴代码就不会感到意外。 – Tomalak 2016-06-13 14:33:01

+1

我并不是故意暗示你的答案是错的。 (尤其是考虑到upvotes的数量)。但我希望,不管出于何种原因,人们都会发现我的链接很有用。问候。 – Andrejs 2016-06-13 14:44:44

9

为寻找一个XPath表达式通用的解决方案,以搜寻基于类和Te XT:

类是只有名为 “myclass”:

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

包含 “MyClass的”:

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

Yay,一年多后,我找到了我的答案帮我。保佑我(宗教。 – 2017-12-21 10:41:14