RubyでSelenium 2 WebDriverを使用します。Selenium2 WebDriver Ruby =>隠しリンクをクリックする方法
css(表示:なし)で隠しリンクをクリックする方法はありますか? リンクはサブメニューであり、メニュー上にマウスを重ねると表示されます。
// EDIT:サブメニューは何のIDを持っていないため、 ':ID' から 'LINK_TEXTを' 私が変わっ
Selenium::WebDriver::Error::NoSuchElementError: Unable to locate element: {"method":"link text","selector":"submenu2"}
。 ナビゲーション:
<ul id="nav-main">
-<li class="menu active">
<p>
<a href="/menu1">menu1</a>
</p>
-<ul> <-- begin display:none
-<li>
<p>
<a href="/submenu1">submenu1</a>
</p>
</li>
+<li>
</ul> <--end submenu
</li>
</ul>
サブメニュー、マウスオーバーメニューを見ることができます。 Webdriverのサブメニューが存在しない前に。
続きのコードFFの左下にあるmenu1のリンクが表示されますが、サブメニューは開かず、タイムアウトエラーで中断します。
menu = @driver.find_element(:link_text => "menu")
@driver.action.move_to(menu).perform
wait.until {
@driver.find_element(:link_text => "submenu").click
}
申し訳ありませんが、私にはエラーがあります。 私の質問で編集を参照してください – Andrej
非常に合理的な音が、私の場合は動作していません。サブメニューはli:hover {display:block}で表示され、WebDriverでElementNotDisplayedErrorを取得します。 – zergu