"Как исправить 'в org.openqa.selenium.support.ui.Select. <init>' ошибка в селене" - PullRequest
0 голосов
/ 22 мая 2019

Я создал объект Select в селене для обработки выпадающего списка.Также были включены связанные пакеты.Тем не менее, раскрывающийся список не выбирается.Пожалуйста, помогите!

Select select = new Select (driver.findElement (By.xpath ("/ html [1] / body [1] / div [1] / div [1] / header []1] / дел [3] / дел [1] / дел [1] / дел [6] / мкл [1] / Li [1] / а [1] ")));select.selectByValue ("Блузки");

Я получаю следующую ошибку "at org.openqa.selenium.support.ui.Select. (Select.java:48)";

Вместе с примечанием при наведении указателя мыши на Select -

org.openqa.selenium.support.ui.Select Примечание. Этот элемент не имеет ни подключенного источника, ни присоединенного Javadoc, и, следовательно, Javadoc не может быть найден.

1 Ответ

0 голосов
/ 22 мая 2019

Насколько я вижу, ваше выражение XPath заканчивается на a, что означает <a> HTML-тег , что, в свою очередь, означает гиперссылку

Чтобы иметь возможность использовать Select класс, вам необходимо передать его конструктору экземпляр WebElement , который будет указывать на <select> HTML-тег .

Если в исходном коде вашей страницы нет элементов <select> - это означает, что раскрывающийся список создается с помощью CSS и JavaScript , поэтому вам просто нужнощелкнуть ссылку с текстом Blouses, который, в свою очередь, может быть простым:

driver.findElementByLinkText("Blouses").click()

Если вы все еще хотите использовать XPath - учтите, что вы можете сделать его намного короче, читаемее инадежный: ограничьте область поиска только гиперссылками, например //a, и используйте text() функцию XPath для сопоставления только с «интересными» ссылками, выражение, которое будет щелкать ссылку с текстом Blouses, будет выглядеть примерно так::

driver.findElementByXPath("//a[text()='Blouses']").click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...