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>

ここにはさらに4つの「ボタン」がありますが、どれもクリックできません。ボタンを別のボタンから分離するのは、onClickjavascriptイベントだけのようです。xpathを使用してみましたが、要素が見つからないようです。私はこれを試しました...

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

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

そしてそれらはfalseを返します。

この要素が見つかったら、.fire_event('onClick')または.clickを使用できますが、機能するはずですが、見つからないようです。

4

2 に答える 2

3

代わりに正規表現で#tdメソッドを使用してください。

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

可能であれば、HTML IDまたはクラス属性をtdに割り当てて、検索を容易にします。次の行の何か:

<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 に答える