如何使用 XPath 通过 CSS 类查找元素?

新手上路,请多包涵

在我的网页中,有一个 div 和一个 class 名为 Test

我如何通过 XPath 找到它?

原文由 Strawberry 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 378
2 个回答

这个选择器应该可以工作,但如果用适合的标记替换它会更有效:

 //*[contains(@class, 'Test')]

或者,因为我们知道寻找的元素是 div

 //div[contains(@class, 'Test')]

但由于这也将匹配 class="Testvalue"class="newTest" 等情况,@Tomalak 在评论中提供的版本 更好

 //div[contains(concat(' ', @class, ' '), ' Test ')]

如果您希望真正确定它会正确匹配,您还可以使用 normalize-space 函数来清除类名周围的杂散空白字符(如@Terry 所述):

 //div[contains(concat(' ', normalize-space(@class), ' '), ' Test ')]

请注意,在所有这些版本中,最好将 \* 替换为您实际希望匹配的任何元素名称,除非您希望针对给定条件搜索文档中的每个元素。

原文由 meder omuraliev 发布,翻译遵循 CC BY-SA 3.0 许可协议

最简单的方法..

 //div[@class="Test"]

假设您要按照说明查找 <div class="Test">

原文由 Olli Puljula 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题