0

皆さん、

私は watir-webdriver を使用しています。HTML DOM に、いくつかの資格情報を入力するとその場で生成される部分があります。この部分にはたくさんのチェックボックスがあり、チェックボックスの数はさまざまです。1 つのチェックボックスを選択する必要があります。以下は次のとおりです。この例では、ここで2番目のチェックボックスを選択したいと思います(入力タイプの値が「BS」であるが、入力タイプのチェックボックスの値はすべて同じです):

   <li class="dir">
<input type="checkbox" value="1" onclick="$(this).next('.should_destroy').value = (this.checked?0:1)" name="should_not_destroy">
<input class="should_destroy" type="hidden" value="1" name="import[dir_attributes][][should_destroy]">
<input type="hidden" value="" name="import[dir_attributes][][id]">
<input type="hidden" value="Automation" name="import[dir_attributes][][path]">
<span class="dir_mode">Include</span>
Automation
</li>
<li class="dir">
<input type="checkbox" value="1" onclick="$(this).next('.should_destroy').value = (this.checked?0:1)" name="should_not_destroy">
<input class="should_destroy" type="hidden" value="1" name="import[dir_attributes][][should_destroy]">
<input type="hidden" value="" name="import[dir_attributes][][id]">
<input type="hidden" value="BS" name="import[dir_attributes][][path]">
<span class="dir_mode">Include</span>
BS
</li>

XPATH でこれを行うことができるかもしれませんが、XPATH 以外のソリューションを試してみたかったのです。入力タイプ非表示には、必要な適切な値があります。たとえば、2 番目のチェックボックスの上には、入力タイプ非表示の値「BS」があります。次のような隠しメソッドを使用しようとしました:

h  = @@browser.hidden(:value, "BS")
h.select

しかし、私はこの後何をすべきかわかりません。非表示要素の値に基づいてチェックボックスを選択しようとしています。フィードバックは大歓迎です。

4

2 に答える 2

1

代わりに可視要素を使用することをお勧めします。テストが読みやすくなり、より安定しているように見えると思います。

試す:

@@browser.li(:class => 'dir', :text => /BS/).checkbox.set
于 2012-05-30T22:50:17.780 に答える
0

ほら、これでいけると思います

非表示に基づいてチェックボックスを選択する必要があるため、含まれているliまでレベルを上げてから、チェックボックスまでドリルダウンする必要があります

@browser.hidden(value: 'BS').parent.checkboxes.first.set
于 2012-05-30T22:59:39.903 に答える