Расположение элемента в том же абзаце другого элемента в watir-webdriver

Учитывая следующий фрагмент кода HTML; найдя ссылку по ID, как бы вы поставили галочку в этом же абзаце? Например, если бы я хотел установить флажок, связанный со ссылкой с ID="inst_17901-1746-1747".

Порядок абзацев в DIV не соответствует между сеансами, поэтому я не могу выбрать его по индексу или идентификатору флажка.

<div id="inst-results">
<p>
<input id="inst-results0-check" type="checkbox">
<a class="ws-rendered" id="inst_17901-1746-1747" title="!!QA Data 2/DOOR FURNITURE/316 Stainless - Altro Range"><img src="http://yr-qa-svr2/Agility/ACMSImages?type=objectType&amp;objectTypeID=32"> <span>!!QA Data 2/DOOR FURNITURE/316 Stainless - Altro Range</span></a>
</p>
<p>
<input id="inst-results1-check" type="checkbox"><a class="ws-rendered" id="inst_17882-1746-1747" title="!!QA Data/DOOR FURNITURE/316 Stainless - Altro Range"><img src="http://yr-qa-svr2/Agility/ACMSImages?type=objectType&amp;objectTypeID=32"> <span>!!QA Data/DOOR FURNITURE/316 Stainless - Altro Range</span></a>
</p>
</div>

Я понял это решение, работая с текстом ссылки, но решение Zeljko намного лучше.

    $browser.div(:id,"inst-results").ps.each { |para|
        if para.link.text == "!!QA Data/DOOR FURNITURE/316 Stainless - Altro Range" then
            para.checkbox.set
            break
        end
    }  

person Alastair Montgomery    schedule 22.06.2011    source источник


Ответы (1)


Если в абзаце со ссылкой стоит только один флажок:

browser.link(:id => "inst_17901-1746-1747").parent.checkbox.set

Работает с watir-webdriver, не уверен, что он будет работать с другими драгоценными камнями Watir.

person Željko Filipin    schedule 22.06.2011
comment
Спасибо, это должно сработать, так как в абзаце должен быть только один флажок. - person Alastair Montgomery; 22.06.2011
comment
если их несколько, вам нужно указать (как, что) для флажка. который мог бы быть индексом, если бы у вас не было ничего лучше. Хотя я подозреваю, что в этом случае будет по крайней мере связанный текст, чтобы пользователь знал, что делает каждый флажок (вместо двух голых флажков). - person Chuck van der Linden; 23.06.2011