WATIR-设置一个复选框而不直接访问它

问题描述 投票:0回答:1

我正在使用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

哪个,as far as I know,是我使用Watir设置复选框的方法,>]

[method_missing': undefined method set'for#(NoMethodError)]

为什么我得到一个Watir::HTMLElement而不是一个Watir::CheckBox实例?有没有办法代替复选框?

我正在使用Watir自动化一些网络杂事,我需要设置一个复选框,该复选框位于带有某些已知文本的div父级的上一个标记中。 HTML看起来像

...
ruby watir
1个回答
0
投票

这是因为以下代码返回了元素对象

© www.soinside.com 2019 - 2024. All rights reserved.