【问题标题】:How to extract the ID attribute of a DOM element, if i know corresponding text through Selenium Webdriver and Java如果我通过 Selenium Webdriver 和 Java 知道相应的文本,如何提取 DOM 元素的 ID 属性
【发布时间】:2019-07-23 07:47:42
【问题描述】:

我使用了以下代码:

driver.getPageSource().contains("My value in text box");

这会让我知道,元素是否存在于 dom 中。

现在,我需要知道,包含文本框“我在文本框中的值”的值。这个文本框的id是什么。

【问题讨论】:

标签: java selenium selenium-webdriver webdriver getattribute


【解决方案1】:

要提取dom 元素id,您无需调用getPageSource()。您可以简单地使用getAttribute() 方法,如下所示:

String elementID = driver.findElement(By.xpath("//*[contains(text(),'My value in text box')]")).getAttribute("id");

【讨论】:

  • 请注意:有时文本包含在标签中,而不是输入元素中。但是,该标签通常具有一个“for”属性,其中包含输入元素的 ID。我会先检查返回的 xpath 的标签,看看它是否是标签,然后通过 ID 获取实际输入,否则假设它是您要查找的内容是相当安全的。
最近更新 更多