23

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

例如:

HTML 视图中不存在 DOM 属性。使用 DOM 检查器,我可以确定 Custom 属性是唯一的。

driver.findElement(By.id("SimpleSearch:dIndicesGrid:1:Value")).getAttribute("_celltype");

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

4

3 回答 3

19

您必须通过 xpath 定位元素。

以下将查找具有值为“celltype”的 _celltype 属性的任何元素:

driver.findElement(By.xpath("//*[@_celltype='celltype']"))

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

driver.findElement(By.xpath("//div[@_celltype='celltype']"))
于 2012-07-30T17:14:20.710 回答
18

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

By.CssSelector("[_celltype='celltype']");
于 2014-04-16T13:08:43.793 回答
2

通过 xPath 查找元素:

WebElement element = driver.findElement(By.xpath("xpath_link"));

xpath_link = //*[@_celltype='celltype']; // This is sample xpath;

System.out.println(element.getText());

这将获得“celltype”字段的文本并显示它的值。

于 2013-12-31T11:23:52.103 回答