我一直在寻找有关如何查找具有类和包含文本的元素的答案。
我有两个答案。
//div[@class='credit_summary_item' and contains(text(),'Professor']
:如在HTML XPath中按类和文本搜索//div[contains(@class, 'credit_summary_item') and contains(., 'Professor')]
:如在XPath中以匹配@class值和元素值?对我来说,只有第二个答案有效。谁能解释“包含文本”部分的区别?由于两个答案都没有提及。
为了进行演示,请考虑以下HTML:
<div class="credit_summary_item">Professor</div>
有:
credit_summary_item
。因此,要找到此元素,您可以使用以下任一解决方案:
使用text()
:
//div[@class='credit_summary_item' and text()='Professor']
使用contains()
:
//div[@class='credit_summary_item' and contains(., 'Professor')]
但是在您的用例中,它似乎contains(@class, 'credit_summary_item')
起作用了,这意味着该元素具有多个类。因此,除了credit_summary_item
一些其他值外,其他还有作为类属性存在的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句