Я не могу получить xpath следующего HTML-кода - PullRequest
1 голос
/ 02 июля 2019

Я пытаюсь получить XPath следующего HTML-кода, но возникает ошибка

Exception in thread "main" org.openqa.selenium.ElementClickInterceptedException 

Я пытался это сделать -

 driver.findElement(By.xpath("//li/a[@href='#home']")).click();

HTML

<a class="nav-link active show" data-toggle="tab" href="#home" role="tab" aria-selected="true">
  <svg class="olymp-register-icon">
    <use xlink:href="top10allthings.com/theme/app/svg-icons/sprites/…">
      <svg id="olymp-register-icon" viewBox="0 0 37 32">
        <title> register-icon </title>
      </svg>
    </use>
  </svg>
  <div class="ripple-container"> </div>
</a>

1 Ответ

1 голос
/ 02 июля 2019

Похоже, вам нужно:

  1. Подождите, пока это <div id="hellopreloader" не исчезнет
  2. Подождите, пока ваша ссылка станет активной

Ответ на оба вопроса: Явное ожидание , реализованное в клиенте Selenium Java через WebDriverWait класс.

Пример справочного кода:

WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("hellopreloader"))); 
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@href='#home']"))).click();

Дополнительная информация: Как использовать Selenium для тестирования веб-приложений с использованием технологии AJAX

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...