Перейти к содержимому

Фотография

Выбор элемента из открывающегося списка


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 robert0801

robert0801

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 06 марта 2020 - 15:36

Здравствуйте. Нужно в выпадающем списке выбрать определенный элемент. На данном этапе трудность в том, что список при клике на него не реагирует. Подскажите новичку, в какую сторону "копать".

 

WebDriver, Selenium 3.141.59, Google Chrome

Сайт https://cloud.google...ucts/calculator В пункте Operating System нужно выбрать "Free....."

driver.switchTo().frame(0);
driver.switchTo().frame("myFrame");

WebElement operatingSystem = new WebDriverWait(driver, 10)
.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//md-select-value/span/div[contains(text(),'Free')]/../../..")));
operatingSystem.click();
WebElement checkFree = new WebDriverWait(driver, 10)
.until(ExpectedConditions.elementToBeClickable(By.xpath("//md-option/div[contains(text(),'Free')]/..")));
checkFree.click();

  • 0

#2 sergueik

sergueik

    Постоянный участник

  • Members
  • PipPipPip
  • 166 сообщений
  • ФИО:кузьмин сергей

Отправлено 11 марта 2020 - 05:21

Прикрепленный файл  Capture_cloud_calculator.JPG   102,56К   0 Количество загрузок:

 

@robert0801
спс за пример

попробуйте стукнуть по нему джавасриптом

List<WebElement> selectLabels = nestedIframe.findElements(By.cssSelector("label[for^=\"select_\"]"));
WebElement select1Label = 
selectLabels.stream().filter(o -> o.getText().contains((CharSequence) "Operating System")).collect(Collectors.toList()).get(0);
WebElement select1 = nestedIframe.findElement(By.cssSelector(String.format("md-select[id=\"%s\"]", select1Label.getAttribute("for"))));
WebElement selectValue = select1.findElement(By.cssSelector("md-select-value > span > div"));
assertThat(selectValue, notNullValue());

executeScript("arguments[0].click();", selectValue);


  • 1


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных