Выпадающий список - не происходит клик по элементу списка

При открытии дропдауна - список на миг открывается, но клик по элементу не происходит. Подскажите, в чем может быть ошибка?

Мой код

    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);

Табом проклацайте. И энтер нажмите.

Разве 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 не к месту, и из-за этого не находило элемент. Спасибо за подсказку