Возникла проблема с выбором выпадающего меню в Selen Webriver - PullRequest
2 голосов
/ 07 февраля 2020

У меня есть образец HTML источника раскрывающегося списка. Я пытался со всеми возможностями, но у меня есть

"Исключение в потоке" основной "org.openqa.selenium.ElementNotInteractableException: элемент не взаимодействует" ошибка в веб-драйвере селена.

Плз, дайте мне решение для выбора выпадающих значений в веб-драйвере. Что я должен использовать? [HTML источник здесь] [1]

WebElement clickclientdrpdown=driver.findElement(By.xpath("/html/body/div[5]/div[3]/div[1]/div/div[4]/div/form/div[1]/span/span[1]/span/span[1]")); 
clickclientdrpdown.click(); 
WebElement selectclientdrpdown = driver.findElement(By.xpath("/html/body/div[5]/div[3]/div[1]/div/div[4]/div/form/div[1]/span/span[1]/span/span[1]")); 
selectclientdrpdown.sendKeys("1 Private solution"); 

1 Ответ

2 голосов
/ 07 февраля 2020

Ваш xpath легко ломается, если формат HTML когда-либо изменяется, просто используйте findElement(By.Name), атрибут name с меньшей вероятностью изменится, поскольку он является частью формы и name Имя параметра передается на сервер:

//Selenium method  specific, prone to failure if element is disabled or not visible
WebElement selectclientdrpdown = driver.findElement(By.name("companyId"));
selectclientdrpdown.sendKeys("1 Private solution");



//Using the JavascriptExecutor
JavascriptExecutor js = (JavaScriptExecutor)driver;
js.ExecuteScript("document.querySelector("select[name='companyId'].value = '1 Private solution';"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...