【发布时间】:2016-01-04 12:54:47
【问题描述】:
我有下面的代码,我试图从(data-id)中提取特定属性。 我是使用 selenium 的新手,已经为此痛苦了一天多。
为了添加上下文,我将向您介绍我正在努力实现的目标。
我有一个包含拍卖的网页,拍卖有一个 ID,拍卖中的所有物品都有唯一的 ID,但都链接到原始拍卖 ID。 我正在尝试提取元素的“data-id”属性,但是我还没有弄清楚如何。 这是我试图从中获取 id 的代码的 sn-p。
<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) 未定义 By 类型”
在我即将把笔记本电脑扔出窗外时,我非常感谢您的帮助,而且我真的不想丢失所有文件。
提前致谢
托尼
【问题讨论】:
标签: java selenium xpath undefined getattribute