在我的网页中,有一个div,类名为Test。
如何用XPath找到它?
在我的网页中,有一个div,类名为Test。
如何用XPath找到它?
当前回答
最简单的方法。
//div[@class="Test"]
假设你想找到<div class="Test">如上所述。
其他回答
//div[@class[contains(.,'Test')]]
这是我在我目前的项目中使用的,它工作顺利。
点。表达式中表示任意div元素的class属性值。所以你不需要使用normalize-space和concat。注意,这也可以选择类名为XXXTestXXX的div。我碰巧把我的可搜索类作为infobox-header,而页面没有XXinfobox-headerXXXX这样的东西。
最简单的方法。
//div[@class="Test"]
假设你想找到<div class="Test">如上所述。
匹配一个有空格的类。
<div class="hello "></div>
//div[normalize-space(@class)="hello"]
我只是提供一个答案,就像Tomalak在很久以前对meder的回答所做的评论一样
//div[contains(concat(' ', @class, ' '), ' Test ')]
使用XPath唯一正确的方法是:
//div[contains(concat(" ", normalize-space(@class), " "), " Test ")]
这个函数将空格的前导和后导进行归一化,并将空格字符序列替换为单个空格。
Note
如果不需要很多这样的Xpath查询,您可能希望使用一个将CSS选择器转换为Xpath的库,因为CSS选择器通常比Xpath查询更容易读写。例如,在本例中,您可以使用选择器div.Test来获得完全相同的结果。
我找到了一些图书馆:
JavaScript: css2xpath & css-to-xpath 对于PHP: CssSelector组件 对于Python: cssselect 对于c#: css2xpath重新加载 GO: css2xpath