1

ボタン (type = "radio") があり、このボタンには Javascript が含まれています。
xpathを使用してボタンを見つけました:

browser.element(:xpath, n2).wait_until_present  
browser.element(:xpath, n2).fire_event "onclick"

ループで同じボタンを 100 回クリックする必要があり、80% の確率で失敗するとします。何度か問題なく動作します。ボタンをクリックした後、ブラウザを下に移動して他のクリックをすると、このボタンはそれ自体でクリック解除 (クリア) されます。そのページにいる間、このボタンを常にクリックしておく必要があります。

遅延を追加しようとしましたが、助けにはなりません。この問題を処理する他の方法はありますか。

4

1 に答える 1

2

Watir は、ラジオボタン型の入力要素と対話するための特定のメソッドを提供します。 http://rubydoc.info/gems/watir-webdriver/Watir/Radioを参照してください。

他に選択肢がない限り、ロケータとして xpath を使用しないでください。適切に行わないと見苦しく、もろく、意味をなすのが困難です。ラジオ要素の場合、通常は値またはテキストで識別します

-- http://www.echoecho.com/htmlforms10.htmの例を使用

Cheese ラジオを設定するには

browser.radio(:value => "Cheese").set

その状態を調べるには、.set? true または false を返します

puts browser.radio(:value => "Cheese").set?

ページに JavaScript が含まれている場合、実行するアクションによってはラジオの設定が解除される可能性があることに注意してください。ただし、そのページで他のアクションを実行した後、いつでもスクリプトに状態をチェックさせることができます。

于 2013-04-03T17:50:09.677 に答える