java - 查找特定属性,Selenium Xpath Java

标签 java selenium xpath undefined getattribute

我有以下代码,我试图从 (data-id) 中提取特定属性。 我刚开始使用 selenium,现在已经为此痛苦了一天多。

为了为此添加上下文,我将向您介绍我正在努力实现的目标的一些背景知识。

我有一个有拍卖的网页,拍卖有一个 ID,拍卖中的所有项目都有唯一的 ID,但都链接到原始拍卖 ID。 我正在尝试提取元素的“data-id”属性,但我还没有找到方法。 这是我试图从中获取 ID 的代码片段。

<div class="dropdown open">
  <a class="dropdown-toggle form-control" href="#" data-toggle="dropdown">
  <ul class="dropdown-menu dropdown-menu-form" role="menu">
    <li id="liAuction4c42556772376a443736343d">
      <label class="checkbox">
        <input id="chkAuction4c42556772376a443736343d" class="auction" type="checkbox" data-caption="09-10-2015 10:30:00" data-id="4c42556772376a443736343d" checked="checked"/>
09-10-2015 10:30:00
      </label>
    </li>
  </ul>
</div>

我去过很多论坛并搜索了整个谷歌,但没有找到适合我的解决方案,否则我不会发布问题,看起来像个菜鸟。

我曾尝试使用 .getAttribute 但是我遇到了一些问题并且代码从未编译过,我想我没有做正确的事情。

String dataID = selenium.findElement(By.xpath("//*[starts-with(@id, 'liAuction')]")).getAttribute("data-id");

当我尝试上述操作时,“findElement”部分带有红色下划线并且我收到以下消息,

“未为 Selenium 类型定义方法 findElement(By)”。

如果我把周围的括号改成这样;

String dataID = selenium.findElement(By.xpath("//*[starts-with(@id, 'liAuction')]").getAttribute("data-id"));

“findElement”不再带有下划线,但现在“.getAttribute”部分带有红色下划线,我收到以下消息,“方法 getAttribute(String) 未定义类型”

我真的很想得到一些帮助,因为我正要把我的笔记本电脑扔出窗外,我真的不想丢失我所有的文件。

提前致谢

托尼

最佳答案

您可以使用getAttribute 方法。

首先找到输入元素,然后提取data-id:

WebElement inputElement = selenium.findElement(By.id("chkAuction4c42556772376a443736343d"));
String data-id = inputElement.getAttribute("data-id");

关于java - 查找特定属性,Selenium Xpath Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32989741/

相关文章:

Java 线程上下文类加载器 - 它是如何工作的?

java - Selenium 测试运行速度太快,没有等待单选按钮被选中

python - 使用selenium从浏览器解析类

xslt - 如何不复制一些属性?

java - 为每个RecyclerView项目创建DetailsActivity

java - Thymeleaf 构造对象

python 脚本无法调用 azure 上的 chrome 驱动程序

ruby - 我可以使用什么 XPath 来获取第一段节点之后(包括第一段节点)的所有文本节点?

selenium - "//div[.//a[text()=' SELENIUM'] ]"and "//div[//a[text() ='SELENIUM' ]]"在 Selenium xpath中有什么区别

java - 如何正确连接类(构造函数中的堆栈溢出)