Я использую Watir для автоматизации некоторых веб-задач, и мне нужно установить флажок, который расположен как предыдущий тег родительского элемента div с некоторым известным текстом.
HTML выглядит как
<div>
...
<input type='checkbox'>
<div>
<div class='text'>text I know</div>
...
</div>
</div>
Я могу найти флажок с
browser.div(class: 'text', text: /text I know/).parent.preceding_sibling
. Как доказательство этого, если я запускаю puts browser.div(class: 'text', text: /text I know/).parent.preceding_sibling/.html
, я получаю "<input type=\"checkbox\">"
.
Однако , если я пытаюсь
browser.div(class: 'text', text: /text I know/).parent.preceding_sibling.set
Который, , насколько я знаю, , является способом установки флажков с Watir, я получаю
method_missing': undefined method
set 'для # (NoMethodError)
Почему я получаю Watir::HTMLElement
, а не Watir::CheckBox
экземпляр? Есть ли способ получить вместо этого флажок?