如何根据自定义属性在 DOM 中找到元素?
例如:
HTML 视图中不存在 DOM 属性。使用 DOM 检查器,我可以确定 Custom 属性是唯一的。
driver.findElement(By.id("SimpleSearch:dIndicesGrid:1:Value")).getAttribute("_celltype");
这_celltype
是自定义属性。此属性在 HTML 视图中不可见。
如何根据自定义属性在 DOM 中找到元素?
例如:
HTML 视图中不存在 DOM 属性。使用 DOM 检查器,我可以确定 Custom 属性是唯一的。
driver.findElement(By.id("SimpleSearch:dIndicesGrid:1:Value")).getAttribute("_celltype");
这_celltype
是自定义属性。此属性在 HTML 视图中不可见。
您必须通过 xpath 定位元素。
以下将查找具有值为“celltype”的 _celltype 属性的任何元素:
driver.findElement(By.xpath("//*[@_celltype='celltype']"))
如果你知道它是什么类型的元素,你可以让它更具体。例如,如果您知道它们是 div 标签,请执行以下操作:
driver.findElement(By.xpath("//div[@_celltype='celltype']"))
XPath 是邪恶的,你可以改用它
By.CssSelector("[_celltype='celltype']");
通过 xPath 查找元素:
WebElement element = driver.findElement(By.xpath("xpath_link"));
xpath_link = //*[@_celltype='celltype']; // This is sample xpath;
System.out.println(element.getText());
这将获得“celltype”字段的文本并显示它的值。