При открытии дропдауна - список на миг открывается, но клик по элементу не происходит. Подскажите, в чем может быть ошибка?
Мой код
Actions action = new Actions(driver);
WebElement toolsMenu = driver.findElements(By.cssSelector(".v9-main-item.v9_sub")).get(3);
action.moveToElement(toolsMenu).build().perform(); // открывается дропдаун
WebElement toolMenuItemReviews = driver.findElement(By.cssSelector("li a:contains('Reviews')"));
toolMenuItemReviews.click();// хочу кликнуть на элемент списка.
Дропдаун
Селектор элемента списка
Ошибка в IDEA
Возможно клик происходит быстрее чем прогружаются элементы списка.
Проставьте ожидания.
Select oSelect = new Select(driver.findElement(By.id("###")));
oSelect.selectByVisibleText("*******");
после того, как открывается дропдаун, добавляю строчку
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(“li a:contains(‘Reviews’)”)));
но теперь выбрасывает timeoutException, должно ждать 5 сек, а закрывается в долю секунды
код для wait
wait = new WebDriverWait(driver,5);
komarig
(Oleksii Komar)
#5
Табом проклацайте. И энтер нажмите.
crazyk2
(Crazyk2)
#6
Разве CSS может содержать :contains
?
У меня FirePath ругается на синаксис такого локатора.
Вот обсуждение
В вашем случае лучше заменить на XPath или поменять логику поиска
WebElement toolMenuItemReviews = driver.findElements(By.cssSelector("li a"))
.stream()
.filter(element -> element.getText().contains("Reviews"))
.findOne()
.orElseThrow(()-> new IllegalStateException("Бла бла не найдено"));
1 лайк
Действительно, тут я использовал Jquary не к месту, и из-за этого не находило элемент. Спасибо за подсказку