如果我通过 Selenium Webdriver 和 Java 知道相应的文本,如何提取 DOM 元素的 ID 属性
Posted
技术标签:
【中文标题】如果我通过 Selenium Webdriver 和 Java 知道相应的文本,如何提取 DOM 元素的 ID 属性【英文标题】:How to extract the ID attribute of a DOM element, if i know corresponding text through Selenium Webdriver and Java 【发布时间】:2019-07-23 07:47:42 【问题描述】:我使用了以下代码:
driver.getPageSource().contains("My value in text box");
这会让我知道,元素是否存在于 dom 中。
现在,我需要知道,包含文本框“我在文本框中的值”的值。这个文本框的id是什么。
【问题讨论】:
How do I find an element that contains specific text in Selenium Webdriver (Python)?的可能重复 【参考方案1】:要提取dom 元素 的id,您无需调用getPageSource()
。您可以简单地使用getAttribute()
方法,如下所示:
String elementID = driver.findElement(By.xpath("//*[contains(text(),'My value in text box')]")).getAttribute("id");
【讨论】:
请注意:有时文本包含在标签中,而不是输入元素中。但是,该标签通常具有一个“for”属性,其中包含输入元素的 ID。我会先检查返回的 xpath 的标签,看看它是否是标签,然后通过 ID 获取实际输入,否则假设它是您要查找的内容是相当安全的。以上是关于如果我通过 Selenium Webdriver 和 Java 知道相应的文本,如何提取 DOM 元素的 ID 属性的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 webdriver selenium 从标签中单击按钮
如何使用selenium Webdriver验证页面中是否存在重复文本
如何使用 selenium webdriver 发送 cookie?