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

时间:2012-07-30 14:20:16

标签: selenium

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

例如:

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

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

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

3 个答案:

答案 0 :(得分:20)

您必须通过xpath找到元素。

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

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

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

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

答案 1 :(得分:14)

XPath是邪恶的,你可以用它代替

By.CssSelector("[_celltype='celltype']");

答案 2 :(得分:2)

通过xPath找到元素:

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

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

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

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