2011-06-30 6 views
2

質問ヘルプワチール-webdriverを:Firefoxは正しいリンクをクリックしないが、IEとChromeが細かい

作業こんにちは、私はルビーに新しいとワチール-webdriverをだと私はすべての上に検索したとの答えを見つけることができませんこの。

私はリンクをテーブルの中に持っていますが、このテーブルには、クリックするとテーブルを数値でソートするヘッダーがテーブルの上にあります。 Chromeでは、リンクは正常にクリックされ続けますが、Firefoxではヘッダーをクリックしてテーブルを再編成しますが、リンクは表示されず、エラーメッセージも表示されません。

私はxpath、regexp、テーブル参照、:href、:text(IDフィールドや名前フィールドはありません)を試していますが、.flashメソッドを使って正しいリンクを見てきました。テーブルの上部をクリックします。ここで

は、私はそれはChromeとIEで正しいリンクをクリックしたが、Firefoxで再び
link = "015633828" 

exp1 = Regexp.new link 

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

を明確にしないで使っているコードの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> 

されている。.flash使い方メソッドは正しいリンクを見つけます(テーブル内をクリックしたいリンクを点滅させます)。実際の.click操作では、リンクではなくヘッダの「契約番号」部分をクリックします。

私は、テーブルヘッダーがフローティングヘッダーである可能性があります。つまり、ページを下にスクロールして移動して、常に表示できるようにします。

私に知らせるためにさらに詳しい情報が必要な場合は、ありがとう!あなたはtdタグ内のリンクをクリックし、thタグの中ではないリンクされていることを確認したい場合は

+0

どのようにリンクをヘッダがクリックされる知っている、としていませんか?特に、フラッシュがリンクを点滅させるが、クリックすると、ヘッダーがクリックされる。 –

+0

ここで提供したHTMLだけで問題を再現できますか?私はあなたがリンクをクリックするように言うなら、Firefoxがヘッダをクリックする方法はないと思う。 –

+0

さて、実際にそれが可能かどうかはわかりませんでした。私はそれがテストを実行するようにブラウザを見てから行くつもりです。サイトに到達し、リンクがページの一番上になるまでスクロールし、次にヘッダーがクリックされたかのようにテーブルが再構成され、リンクを正しくクリックしたかのように次のステップに進みます。 – Mike

答えて

3

をクリックして、私はわからないんだけどなぜこれをやっているのでしょうか?潜在的な回避策として、次の行に沿って何か試してみて、hrefの値をリンクから外してブラウザに直接移動させることができますか?

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

(あなたがその仕事をするために、HREFに、サイトのベースURLを追加する必要があるかもしれませんが、あなたのアイデアを得る)

+0

それはうまくいっています。 この問題が再び発生した場合に備えて、フローティングヘッダーで動作させる方法があるかどうかはわかりません。みんなのおかげで/助けてくれてありがとう! – Mike

0

さて、これを試してみてください。

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

をそれはあなたが両方のHTMLを提供してきた良いことですWatirのコードですが、将来は実際のHTMLを提供してください(またはできるだけ実際に)。 someUser#私は本当に私を混乱させ、私は問題を理解しているかどうかもわかりません。

私が提供した解決策がうまくいかない場合は、実際のHTMLを含むように質問を編集してください。

+0

実際のHTMLを含むように投稿を編集しました。あなたが提供した解決策はまだヘッダーをクリックしました。 – Mike

+0

リンクがページの一番上に来るまでFirefoxがスクロールしていると思いますが、そのようにするとフローティングヘッダーがリンクを覆い、ヘッダーがクリックされます。 (うまくいけばうまくいけば) スクロールバーをロックする方法はありますか? – Mike

1

または可能性のxpathで試してみてください。browser.link @

。(:のxpath、 "// [@テキスト= 'someUserの#']")

関連する問題