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.