我想点击的 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?
它们返回 false。
我认为一旦找到这个元素,我就可以使用 .fire_event('onClick')
或 .click
它应该可以工作,但我似乎无法找到它。
最佳答案
使用带有正则表达式的 #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
关于html - 使用 Watir 单击表格元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12314152/