JavaScript按钮我想点击它,虽然它在表格中:
<table>
<tr>
<td height="20" align="center" nowrap style="color:#0000FF; cursor:pointer; border: 1 solid #426996; background-color: #FAFAFF;"
onClick="Initial();"
onMouseOver="javascript:{style.backgroundColor='#426996'; style.color='#FFFFFF'}"
onMouseOut="javascript:{style.backgroundColor='#FFFFFF'; style.color='#0000FF'}">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b> New Incident </b></font>
</td>
<td width="4"></td>
此处还有四个“按钮”,但我无法点击其中任何一个。似乎唯一可以将按钮与另一个按钮分开的是onClick
javascript事件。我尝试过使用xpath,但我似乎无法找到该元素。我试过这个......
ie.button(:xpath => "//td[@onClick='Initial();']".exists?
ie.link(:xpath => "//td[@onClick='Initial();']".exists?
他们返回假。
我认为一旦发现这个元素,我就可以使用.fire_event('onClick')
或.click
它应该可以工作,我似乎无法找到它。
答案 0 :(得分:3)
使用#td方法改为使用正则表达式:
ie.td(:html => %r{Initial()}).click
如果可以的话,可以为你的td分配一些html ID或class属性,以便更容易定位。有些东西:
<td id="mytd" ... onClick="Initial();">...</td>
ie.td(:id => "mytd").click
或者使用带有正则表达式的文本:
ie.td(:text => /New Incident/).click
答案 1 :(得分:1)
您尝试单击的元素不是按钮,而是表格中的单元格。更多信息:http://www.w3.org/wiki/HTML/Elements/td
这样的事情应该有效(未经测试):
browser.element(:css => "td[onClick=Initial();]").click