У меня есть код ниже, который я пытаюсь извлечь из (идентификатор данных) определенного атрибута. Я новичок в использовании селена и страдал этим уже более суток.Поиск определенного атрибута, Selenium Xpath Java
Чтобы добавить контекст к этому, я расскажу вам немного о том, чего я пытаюсь достичь.
У меня есть веб-страница с аукционом, на аукционе есть идентификатор, все предметы на аукционе имеют уникальные идентификаторы, но все ссылки на оригинальный идентификатор аукциона. Я пытаюсь извлечь атрибут «data-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>
Я был на многих форумах и искал всю Google и не нашел решение, которое работало для меня еще в противном случае я бы не размещать вопрос и посмотреть, как полный новичок.
Я попытался использовать .getAttribute, однако у меня были некоторые проблемы с этим, и код никогда не компилировался, я думаю, что я не сделал что-то правильно.
String dataID = selenium.findElement(By.xpath("//*[starts-with(@id, 'liAuction')]")).getAttribute("data-id");
Когда я попытался выше части «findElement» указывается красным и у меня есть следующее сообщение,
«Метод findElement (К) не определено для типа Selenium».
Если я изменю родительский подход вокруг, чтобы выглядеть так;
String dataID = selenium.findElement(By.xpath("//*[starts-with(@id, 'liAuction')]").getAttribute("data-id"));
«не findElement» больше не указывается, однако теперь часть «.getAttribute» подчеркнуто красным, и я следующее сообщение, „Метод GetAttribute (String) не определено для типа К“
Я бы очень признателен за помощь в этом, так как я собираюсь выбросить свой ноутбук из окна, и я действительно не хочу потерять все свои файлы.
Заранее спасибо
Tony
Привет спасибо за это, я могу видеть, как это должно работать, но у меня такая же проблема, по-прежнему, «findElement» подчеркнуто красным и подсказке сообщение «Метод findElement (By) не определено для типа Selenium ". это была моя головная боль –
Я обновил свой ответ, можете ли вы попробовать полный код. добавьте необходимый код между ними, он должен работать –
Спасибо за это, Не совсем правильный ответ, но указал на то, что я хотел. Я использовал следующее атрибут data-id. Ваш ответ помог больше, чем вы знаете, Еще раз спасибо Строковые данныеID = selenium.getValue ("// input [@ id = 'chkAuction4c42556772376a443736343d']/@ data-id"); –