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