Как исправить ElementNotVisibleException в тесте Selenium?

Здравствуйте. Появилась необходимость написать тест для сайта. Сталкиваюсь с этим первый раз. Во время теста необходимо поочередно переходить по ссылкам, заполняя по пути текстовые поля. Все отрабатывает нормально, но на одной из страниц не могу получить доступ к одному элементу, выбивает ElementNotVisibleException. Пробовал несколько вариантов:
driver.findElement(By.xpath(".//*[@id='start-free-trial-professional']"));
driver.findElement(By.id("start-free-trial-professional")).click();
driver.findElement(By.linkText(" Попробовать бесплатно")).click();

не работает ни с одним.
Вот эта страничка: https://www.wrike.com/ru/price/
Необходимый мне элемент:
<div class="tariffs-wrap-btn"> 
<a href="#" id="start-free-trial-professional" class="a-8ab62f btn-professional"> Попробовать&nbsp;бесплатно<span class="btn_sm_sprite blue"></span> </a> </div>

Заранее спасибо за помощь.
  • Вопрос задан
  • 1345 просмотров
Пригласить эксперта
Ответы на вопрос 1
@GeneD88
QA
Используйте ("(//a[@id='start-free-trial-professional'])[2]"), тк при вашем By.id("start-free-trial-professional") селениум пытается кликнуть на невидимый элемент. (Этот id возвращает 3 элемента, первый из которых имеет display: none)
Если хотите избавиться от индекса в xpath - специфицируйте style для элемента. Что бы только видимые возвращал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы