当前位置: 首页 > 知识库问答 >
问题:

如何通过Selenium Webdriver和Java提取DOM元素的ID属性,如果我知道相应的文本

樊宏邈
2023-03-14

我使用了以下代码:

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

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

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

共有1个答案

孟翰藻
2023-03-14

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

String elementID = driver.findElement(By.xpath("//*[contains(text(),'My value in text box')]")).getAttribute("id");
 类似资料:
  • 问题内容: 第一个和第二个显示的内容只不过是一个空字符串,我认为应该是and 。但是,经过精心设置之后,第三个终于警报了。 但为什么?我如何才能正确检索该属性? 谢谢。 问题答案: 的属性直接映射到 属性,而不是所施加的样式。为此,您需要getComputedStyle。 我会认真考虑切换演示文稿并将其与逻辑完全分开。

  • 问题内容: 我有一张表,其中每一行都会有一个下载链接,其中包含(部分)自动生成的id元素。原因是实际的href元素始终为“#”,因此ID分开了下载。 我需要在td中找到该id元素的名称。那就是:我知道表行有一个id元素,并且我知道部分名称,并且我需要获得确切的名称。 我一次访问每一行,因此我一次只需要查看一次即可。无需浏览整个表格。 我知道名称后如何查找元素。但是在我只知道类型的时候找到元素是另一

  • 问题内容: 第一个和第二个显示的内容只不过是一个空字符串,我认为应该是and。但是,经过精心设置之后,第三个警报终于发出来。 但为什么?我该如何正确检索该财产? 谢谢。 问题答案: 属性直接映射到属性,而不是所施加的样式。为此,您需要getComputedStyle。 我会认真考虑切换演示文稿并将其与逻辑完全分开。

  • 问题内容: 我知道我可以按元素获取范围: 我该如何反向:使用scope来查找DOM元素,例如? 我想这样做是为了调试。我的作用域树显示了一些内容,我想确定它的来源。 问题答案: 尽管不是很性感,但每个dom节点都有一个ng-scope类,因此您可以通过技术进行如下操作:

  • 问题内容: 我正在尝试通过angularjs在html中查找元素。 这是html: 我试图通过类名多文件来获取按钮元素,然后我尝试 但是它不起作用,并且尝试过,但仅对标签起作用。 在angularjs中,有没有可以通过ID或类名获取元素的函数? 问题答案: 是DOM文档上的函数。它既不是jQuery也不是jqLit​​e函数。 使用时不要在类名前添加句号: 将其包装在jqLit​​e中(如果在An

  • 我使用Thymeleaf创建html组件。组件在单独的文件中声明: 中基本按钮的声明 这个想法是为组件提供某种类型的工具集。使用此组件的代码将是: 它运行良好,但我考虑了按钮需要具有以下属性的情况:或或任何其他属性。问题来了: 如何将属性传递给按钮? 一种方法是将其作为片段的参数传递,但它太丑了。 有什么方法可以获取片段中占位符的属性吗?(见下面的示例) 我想这样调用片段: 并且在片段中想要获取这