如何根据自定义属性在DOM中找到元素?
例如:
HTML视图中不存在DOM属性。使用DOM检查器我能够识别Custom属性是唯一的。
driver.findElement(By.id("SimpleSearch:dIndicesGrid:1:Value")).getAttribute("_celltype");
此处_celltype
是自定义属性。此属性在HTML视图中不可见。
答案 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'字段的文本并显示它的值。