Проблема с выпадающим списком работы с Selenium - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь выбрать элемент из выпадающего списка, но я получил эту ошибку при выполнении:

Исключение в потоке "main" org.openqa.selenium.NoSuchElementException: нет такого element: Невозможно найти элемент: {"method": "xpath", "selector": "// select [@ id = 'id12']"}

HTML код выпадающий список:

<select style="width:163px" name="department:department" id="id12">
    <option selected="selected" value="">Escoge</option>
    <option value="100">100</option>
    <option value="999">999</option>
    <option value="800">800</option>
    <option value="700">700</option>
    <option value="600">600</option>
    <option value="540">540</option>
    <option value="500">500</option>
    <option value="400">400</option>
    <option value="345">345</option>
    <option value="280">280</option>
    <option value="270">270</option>
    <option value="264">264</option>
    <option value="262">262</option>
    <option value="251">251</option>
    <option value="201">201</option>
    <option value="82">82</option>
    <option value="81">81</option>
    <option value="50">50</option>
    <option value="21">21</option>
    <option value="19">19</option>
    <option value="001">001</option>
</select>

Мой java код:

WebElement dropdownlist = driver.findElement(By.xpath("//select[@id='id12']"));
Select dropdown = new Select(dropdownlist);
dropdown.selectByVisibleText("100");

Я тоже пытался с этим:

WebElement dropdownlist = driver.findElement(By.xpath("//select[@name='department']"));
Select dropdown = new Select(dropdownlist);
dropdown.selectByVisibleText("100");

WebElement dropdownlist = driver.findElement(By.cssSelector("select[id='id12']"));

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020

Чтобы справиться с выпадающим списком, вы должны использовать org.openqa.selenium.support.ui.Select import, и он будет раскрывать раскрывающийся список как объект «Выбрать» в WebDriver. Также может быть возможно, что элемент, над которым вы пытаетесь выполнить действие, требует времени и, следовательно, произошло исключение. Добавьте явное ожидание и проверку с вашего конца ::

WebElement element=driver.findElement(By.id("id12"));
WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.visibilityOfElementLocated(element));
Select dropdown = new Select(element);
dropdown.selectByVisibleText("100");
0 голосов
/ 03 апреля 2020

Возможно, идентификатор: dynamici c здесь и name Указанное вами значение атрибута неверно.

Попробуйте следующий код.

WebElement dropdownlist = driver.findElement(By.xpath("//select[@name='department:department']"));
Select dropdown = new Select(dropdownlist);
dropdown.selectByVisibleText("100");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...