Selenium webdriver:如何根据自定义属性在DOM中查找元素

use*_*042 21 selenium

如何根据自定义属性在DOM中找到元素?

例如:

HTML视图中不存在DOM属性.使用DOM检查器我能够识别Custom属性是唯一的.

driver.findElement(By.id("SimpleSearch:dIndicesGrid:1:Value")).getAttribute("_celltype");
Run Code Online (Sandbox Code Playgroud)

_celltype是自定义属性.此属性在HTML视图中不可见.

Jus*_* Ko 20

您必须通过xpath定位元素.

以下将找到具有值'celltype'的_celltype属性的任何元素:

driver.findElement(By.xpath("//*[@_celltype='celltype']"))
Run Code Online (Sandbox Code Playgroud)

如果你知道它是什么类型的元素,你可以使它更具体.例如,如果您知道它们是div标签,请执行以下操作:

driver.findElement(By.xpath("//div[@_celltype='celltype']"))
Run Code Online (Sandbox Code Playgroud)


Mat*_*ius 16

XPath是邪恶的,你可以使用它

By.CssSelector("[_celltype='celltype']");
Run Code Online (Sandbox Code Playgroud)