ezzr_qvap
(Ezzr Qvap)
May 16, 2017, 10:28am
#1
Как правильно оформить такой запрос?
wd.findElement(By.cssSelector("[a:title('Редактировать/удалить сообщение')]"));
и так не работает
wd.findElement(By.cssSelector("a[title='Редактировать/удалить сообщение']"));
вроде делаю как написано тут java - How to directly find WebElements by their attributes except "class" and "name" (for example "title") - Stack Overflow
Может так:
wd.findElement(By.xpath("a[contains(@title, 'Редактировать')]"));
ezzr_qvap
(Ezzr Qvap)
May 16, 2017, 10:40am
#4
<a href="editpost.php?do=editpost&p=4585673" name="vB::QuickEdit::4585673"><img src="https://forum.com/images/edit.gif" alt="Редактировать/удалить сообщение" border="0" title="Редактировать/удалить сообщение"></a>
CrispusDH
(Oleksii Ihnatiuk)
May 16, 2017, 10:42am
#5
wd.findElement(By.cssSelector("a[title="Редактировать/удалить сообщение"]"));
внутри title двойные кавычки
ezzr_qvap
(Ezzr Qvap)
May 16, 2017, 10:43am
#6
в джаве так не прокатит - внутри двойных должны быть одинарные
CrispusDH
(Oleksii Ihnatiuk)
May 16, 2017, 10:45am
#7
напишите какую ошибку пишет с wd.findElement(By.cssSelector("a[title='Редактировать/удалить сообщение']"));
Замените By.cssSelector
на By.xpath
ezzr_qvap
(Ezzr Qvap)
May 16, 2017, 10:49am
#11
в вашем запросе? уже заменял…
Добавьте сюда еще HTML-код плюс-минус к тому, который у вас есть - комбинируя несколько тегов можно добиться уникальности xpath-пути.
P.S. Проще было бы если бы вы URL страницы привели…
Перед тегом “а” в xpath два слэша // нужны может быть и @ перед title?
wd.findElement(By.xpath("//a[@title='Редактировать/удалить сообщение']"));
Да, верно, совершенно вылетело из головы )
ezzr_qvap
(Ezzr Qvap)
May 16, 2017, 11:00am
#15
странно, но
Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//a[@title='Редактировать/удалить сообщение']"}
А вы ждёте появления элемента на странице перед тем как с ним взаимодействовать?
ezzr_qvap
(Ezzr Qvap)
May 16, 2017, 11:07am
#18
этот элемент уже на странице, так как перед этим я вытягиваю инфу из дива, который в двух шагах…
ezzr_qvap
(Ezzr Qvap)
May 16, 2017, 11:08am
#19
у меня есть еще такой див, и мне нужно вытянуть номер
div id="post_message_56895701"
вообще-то, так и сделал.
Просто ради проверки вставьте перед взаимодействием sleep на 3 сек. Вдруг поможет? Если нет - значит дальше копать будем.