使用:使用watir-webdriver定位LI元素

Ala*_*ery 9 watir watir-webdriver

我试图找到并单击一个jQuery菜单元素,该菜单被定义为包含多个LI元素的多个UL元素.

在Mac 10.5上使用Firefox 3.6.17,在我使用过的标准WATIR中;

browser.li(:text,"Options...").click
Run Code Online (Sandbox Code Playgroud)

要么

browser.div(:id,"Attributes-menu").li(:text,"Copy").click
Run Code Online (Sandbox Code Playgroud)

单击菜单项但使用watir-webdriver(0.2.3)它报告无法找到LI元素.虽然我可以通过使用:class找到包含DIV和LI的实例.

我在下面附上了一个菜单HTML示例,任何人都可以提出一种可靠的方法来查找LI项目吗?

<div class="ws-menu-container ws-context-menu ws-context-menu-hidden" style="top: 16px; left: 214px; " id="Attributes-menu">
<ul class="ws-context-menu"><li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Copy&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Add...&nbsp;&nbsp;&nbsp;</li>
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Remove...&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Clear Translation Flag&nbsp;&nbsp;&nbsp;</li>
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Copy from Master Language...&nbsp;&nbsp;&nbsp;</li>
<li class="ws-context-menu-disable">&nbsp;&nbsp;&nbsp;Push to Child Languages...&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu">&nbsp;&nbsp;&nbsp;Options...&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu">&nbsp;&nbsp;&nbsp;Refresh&nbsp;&nbsp;&nbsp;</li></ul>
<hr class="ws-context-menu-separator">
<ul class="ws-context-menu">
<li class="ws-context-menu">&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</li></ul></div>
Run Code Online (Sandbox Code Playgroud)

Žel*_*pin 20

这对我有用:

browser.div(:id => "Attributes-menu").li(:text => /Copy/).click
Run Code Online (Sandbox Code Playgroud)