2

質問ヘルプ

こんにちは、Ruby と watir-webdriver は初めてで、あちこち検索しましたが、これに対する答えが見つかりません。

テーブル内にリンクがあります。このテーブルには、テーブルの上にヘッダーがあり、クリックするとテーブルが数値順に並べ替えられます。Chrome と Ie では、リンクは正常にクリックされて続行しますが、Firefox ではヘッダーをクリックしてテーブルを再編成しますが、リンクではなく、エラー メッセージは表示されません。

xpath、regexp、テーブル参照、:href、:text、(id または name フィールドはありません) を試しましたが、.flash メソッドを使用すると、正しいリンクが表示されることがわかりましたが、それでも上部をクリックしますテーブルの。

ここにhtmlがあります

<thead>
    <tr>
        <th id="0" class="canclick" width="14%" align="left" datatype="string">
            Contract #
            <span id="sortIndicatorBlank">&nbsp;&nbsp;&nbsp;&nbsp;</span>
        </th>
    </tr>
</thead>
<tbody>
    <tr class="backD">
        <td width="10%" valign="top" align="left">
             <a href="/policy/clientAccountSummary.action?forwarder=ClientList&basho.menuNodeId=12801&basho.taskPanelNodeId=1261&number=015633828"> 015633828 </a>
        </td>

これは私が使用しているコードで、ChromeとIeでは正しいリンクをクリックしますが、Firefoxではクリックしません

link = "015633828"

exp1 = Regexp.new link

@browser.link(:href, exp1).click

もう一度明確にするために:.flashメソッドを使用すると、正しいリンクが見つかります(テーブル内でクリックしたいリンクが点滅します)が、実際の.click操作では、リンクではなくヘッダーの「契約#」部分をクリックします。

問題は、テーブル ヘッダーがフローティング ヘッダーであることにあると思います。つまり、ページを下にスクロールすると一緒に移動し、常に表示されるようにページの上部にとどまります。

明確にするためにさらに情報が必要な場合は、お知らせください。ありがとう!

4

3 に答える 3

3

なぜこれを行っているのかわかりませんが、潜在的な回避策として、次の行に沿って何かを試して、リンクから href 値を引き出し、ブラウザに直接移動させることができますか?

@browser.goto(@browser.link(:text, ' 015633828 ').href)

(それを機能させるには、サイトのベース URL を href に追加する必要があるかもしれませんが、アイデアは得られます)

于 2011-07-07T22:40:02.717 に答える
1

または、おそらく xpath で試してください:

@browser.link(:xpath,"//a[@text=' someUser# ']").click

于 2011-07-07T11:51:29.940 に答える
0

tdタグ内のリンクではなく、タグ内のリンクがクリックされるようにしたい場合は、次のようにしますth

browser.td.link(:href => /someUser#/).click

HTML と Watir コードの両方を提供したことは良いことですが、将来的には、本物の HTML (または可能な限り本物) を提供するようにしてください。someUser#本当に混乱しました。問題を理解しているかどうかさえわかりません。

私が提供した解決策が機能しない場合は、質問を編集して実際の HTML を含めてください。

于 2011-07-07T09:07:49.593 に答える