У меня проблема с 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.