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

html CSS

斯丁

2020-03-23

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

我如何找到它XPath

第3069篇《如何使用XPath通过CSS类查找元素?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

4个回答
阳光小小 2020.03.23

使用XPath 唯一正确方法:

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

该函数将normalize-space去除前导和尾随空格,并且还将空格字符序列替换为一个空格。


注意

如果不需要许多这些Xpath查询,则可能需要使用一个将CSS选择器转换为XPath的库,因为CSS选择器通常比XPath查询更容易读写。例如,在这种情况下,您可以同时使用div[class~="foo"]div.foo获得相同的结果。

我已经找到了一些库:

古一 2020.03.23

您可以找到类似此示例的元素(所有CSS元素)

private By 
allElementsCss = By.xpath(".//div[@class]");
神奇Davaid 2020.03.23

具有空格的匹配

<div class="hello "></div>
//div[normalize-space(@class)="hello"]
Itachi阿飞 2020.03.23

最简单的方法

//div[@class="Test"]

假设您要<div class="Test">按照描述查找

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android