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