Веб-драйвер Selenium не может щелкнуть ссылку за пределами страницы

У меня проблема с Selenium WebDriver. Я пытаюсь щелкнуть ссылку, которая находится за пределами страницы окна (, вам нужно прокрутить вверх, чтобы увидеть ее ). Мой текущий код довольно стандартный:

menuItem = driver.findElement(By.id("MTP"));
menuItem.click();
// I also tried menuItem.sendKeys(Keys.RETURN);

Я знаю, что могу прокрутить вверх, и в этом случае это сработает. Но в случае, когда у вас есть длинный список элементов, вы не обязательно знаете, как далеко вам нужно прокрутить вниз.

Есть ли способ щелкнуть ссылку, которая не находится в видимой части страницы (, но будет видна при прокрутке )?

В качестве примечания: я использую Firefox, но я также планирую использовать IE7/8/9 и Chrome.

Любая помощь будет принята с благодарностью.

Редактировать :Боюсь, я не могу дать исходный код, так как компания, в которой я работаю, не разрешает это делать, но я могу дать код ссылки, по которой я хочу перейти:

<div class="submenu">
  <div id="MTP">Link title</div>
</div>

Точно такой же код работает, когда ссылка видна, только когда ее нет, она не работает.

Edit2 :На самом деле, как ни странно, он не вызывает никаких исключений и просто переходит к следующей инструкции. Итак, в основном происходит следующее:

menuItem = driver.findElement(By.id("MTP")); // no exception
menuItem.click();  // no exception
//... some code ensuring we got to the next page: timeout reached
driver.findElement(By.id("smLH")).click(); // NoSuchElementException, as we're on the wrong page.
24
задан Liam 6 October 2016 в 15:27
поделиться