0

現在、ループして特定の要素を見つけたい検索結果のリストがあります。この要素は複数回(数回から数千回)発生する可能性がありますが、要素の最初のインスタンスを見つけてクリックし、ループを終了したいだけです。

次のことを試しましたが、少しずれていると思います

i = 0
@browser.div(:id=>"resultsList").lis.each do|li| -- loop through list
@browser.link(:href=>"linkname").exists --- check if element exists
@browser.goto(@browser.link(:href=>"linkname") --if it exists click

break if i == 1 ---then break out of loop

end

任意のポインタをいただければ幸いですありがとう!

4

1 に答える 1

2

要素をループする必要はありません。デフォルトでは、Watir-Webdriver は最初に一致した要素を返します。

ただ行う:

@browser.div(:id=>"resultsList").link(:href=>"linkname").click

これにより、「linkname」の href を持つ検索結果の最初のリンクがクリックされます。実際にリンク テキスト (href ではない) を「linkname」と一致させたい場合は、link(:text=>"linkname").

于 2012-08-29T16:36:13.067 に答える