2

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>&nbsp;New Incident&nbsp;</b></font>
    </td>
    <td width="4"></td>

这里还有四个“按钮”,但我无法单击其中任何一个。似乎唯一将按钮与另一个分开的是onClickjavascript事件。我尝试过使用 xpath,但我似乎无法找到该元素。我试过这个...

ie.button(:xpath => "//td[@onClick='Initial();']".exists?

ie.link(:xpath => "//td[@onClick='Initial();']".exists?

他们返回假。

我认为一旦找到这个元素,我就可以使用.fire_event('onClick')or.click并且它应该可以工作,但我似乎无法找到它。

4

2 回答 2

3

使用带有正则表达式的 #td 方法:

ie.td(:html => %r{Initial()}).click

如果可能,则为您的 td 分配一些 html ID 或类属性以使定位更容易。类似的东西:

<td id="mytd" ... onClick="Initial();">...</td>
ie.td(:id => "mytd").click

或者使用带有正则表达式的文本:

ie.td(:text => /New Incident/).click
于 2012-09-07T17:29:33.310 回答
1

您尝试单击的元素不是按钮,而是表格中的单元格。更多信息:http ://www.w3.org/wiki/HTML/Elements/td

像这样的东西应该可以工作(未经测试):

browser.element(:css => "td[onClick=Initial();]").click

更多信息:http ://www.w3.org/TR/CSS2/selector.html#matching-attrs

于 2012-09-07T08:37:27.787 回答