无效属性:: for(Watir :: Exception :: MissingWayOfFindingObjectException)

时间:2015-08-07 08:35:36

标签: css-selectors watir

使用Watir有标题错误 需要设置复选框:

<label for="adr-eq" class="checkbox">Ok</label>

适用于:

ff.element(:css => 'label.checkbox:nth-child(12)').click

但为什么它不起作用:

ff.checkbox(:for => 'adr-eq').set
ff.element(:for => 'adr-eq').click

1 个答案:

答案 0 :(得分:1)

Watir仅允许使用对元素类型有效的属性(基于HTML规范)定位元素。 for属性对所有元素或输入元素无效。因此,您获得了Watir::Exception::MissingWayOfFindingObjectException

如果你看一下你想要与之交互的HTML,以及工作的CSS选择器,元素类型就是一个标签。 for属性对标签(以及其他几个元素)有效。因此,如果您告诉Watir找到标签元素,则可以使用:for定位器。

使用for属性点击标签:

ff.label(:for => 'adr-eq').click

如果您想使用Checkbox#set方法,则需要按id属性找到元素,该属性应与for属性匹配:

ff.checkbox(:id => 'adr-eq').set