Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

не работает запрос по заданному условию: An illegal selector was specified


(Ezzr Qvap) #1

Как правильно оформить такой запрос?

wd.findElement(By.cssSelector("[a:title('Редактировать/удалить сообщение')]"));

и так не работает

wd.findElement(By.cssSelector("a[title='Редактировать/удалить сообщение']"));

вроде делаю как написано тут http://stackoverflow.com/a/32237029/5829191


(Andrey) #2

Может так:
wd.findElement(By.xpath("a[contains(@title, 'Редактировать')]"));


(Oleksii Ihnatiuk) #3

Выложите HTML страницы


(Ezzr Qvap) #4

<a href="editpost.php?do=editpost&amp;p=4585673" name="vB::QuickEdit::4585673"><img src="https://forum.com/images/edit.gif" alt="Редактировать/удалить сообщение" border="0" title="Редактировать/удалить сообщение"></a>


(Oleksii Ihnatiuk) #5

wd.findElement(By.cssSelector("a[title="Редактировать/удалить сообщение"]"));

внутри title двойные кавычки


(Ezzr Qvap) #6

в джаве так не прокатит - внутри двойных должны быть одинарные


(Oleksii Ihnatiuk) #7

напишите какую ошибку пишет с wd.findElement(By.cssSelector("a[title='Редактировать/удалить сообщение']"));


(Ezzr Qvap) #8

Unable to locate element: {“method”:“xpath”,“selector”:“a[contains(@title, ‘Редактировать’)]”}


(Ezzr Qvap) #9

Unable to locate element: {“method”:“css selector”,“selector”:“a[title=‘Редактировать/удалить сообщение’]”}


(Andrey) #10

Замените By.cssSelector на By.xpath


(Ezzr Qvap) #11

в вашем запросе? уже заменял…


(Andrey) #12

Добавьте сюда еще HTML-код плюс-минус к тому, который у вас есть - комбинируя несколько тегов можно добиться уникальности xpath-пути.
P.S. Проще было бы если бы вы URL страницы привели…


(Ильдар Бекмансуров) #13

Перед тегом “а” в xpath два слэша // нужны может быть и @ перед title?
wd.findElement(By.xpath("//a[@title='Редактировать/удалить сообщение']"));


(Andrey) #14

Да, верно, совершенно вылетело из головы )


(Ezzr Qvap) #15

странно, но
Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//a[@title='Редактировать/удалить сообщение']"}


(Ezzr Qvap) #16

дело видно еще в чем-то


(Ильдар Бекмансуров) #17

А вы ждёте появления элемента на странице перед тем как с ним взаимодействовать? :slight_smile:


(Ezzr Qvap) #18

этот элемент уже на странице, так как перед этим я вытягиваю инфу из дива, который в двух шагах…


(Ezzr Qvap) #19

у меня есть еще такой див, и мне нужно вытянуть номер
div id="post_message_56895701"

вообще-то, так и сделал.


(Ильдар Бекмансуров) #20

Просто ради проверки вставьте перед взаимодействием sleep на 3 сек. Вдруг поможет? Если нет - значит дальше копать будем.