在我的网页中,有一个div,类名为Test。
如何用XPath找到它?
在我的网页中,有一个div,类名为Test。
如何用XPath找到它?
当前回答
XPath有一个contains-token函数,专门针对这种情况设计的:
//div[contains-token(@class, 'Test')]
它只在XPath的最新版本(3.1)中得到支持,因此您需要一个最新的实现。
其他回答
从XPath 2.0开始,你可以使用一个标记化函数:
//div[tokenize(@class,'\s+')='Test']
这里它将在空白区域进行标记,然后将结果字符串与'Test'进行比较。
它是XPath 3.1函数contains-token()的替代方法
但是目前(2021-04-30)没有浏览器支持XPath 2.0或更高版本。
最简单的方法。
//div[@class="Test"]
假设你想找到<div class="Test">如上所述。
//div[@class[contains(.,'Test')]]
这是我在我目前的项目中使用的,它工作顺利。
点。表达式中表示任意div元素的class属性值。所以你不需要使用normalize-space和concat。注意,这也可以选择类名为XXXTestXXX的div。我碰巧把我的可搜索类作为infobox-header,而页面没有XXinfobox-headerXXXX这样的东西。
XPath有一个contains-token函数,专门针对这种情况设计的:
//div[contains-token(@class, 'Test')]
它只在XPath的最新版本(3.1)中得到支持,因此您需要一个最新的实现。
我只是提供一个答案,就像Tomalak在很久以前对meder的回答所做的评论一样
//div[contains(concat(' ', @class, ' '), ' Test ')]