如何在元素对象上调用清除方法
how to call clear method on the element object
在我的项目中,我通过一些其他元素(通过标签)找到了 text_Field,例如
element.following_sibling(tag_name: 'input').send_keys 'something'
但现在它可以毫无问题地输入 text_field,但我缺少 text_field
的 clear 方法,因为它将 clear 和 type 结合在一起。现在我必须在 element.following_sibling(tag_name: 'input')
上调用 clear 方法,但由于它正在返回元素对象,所以我不能那样做。有什么办法可以在这里调用 clear 方法吗?或者我可以通过某种方式将此对象传递给 text_field() 方法吗?任何帮助表示赞赏。
我知道可以通过将 watir 元素转换为 selenium 元素来调用它,如下所示
element.following_sibling(tag_name: 'input').wd.clear
但在这里我错过了 WATIR 等待元素的时间。
我的问题现在有了答案。
答案在这里。
b.text_field(element: element.following_sibling(tag_name: 'input').wd).set 'something'
如果有人有更好的想法,请写下你的answer.Thanks。
这似乎是 Watir 的限制 adjacent methods:
klass = if !plural && opt[:tag_name]
Watir.element_class_for(opt[:tag_name])
elsif !plural
HTMLElement
elsif opt[:tag_name]
Object.const_get("#{Watir.element_class_for(opt[:tag_name])}Collection")
else
HTMLElementCollection
end
请注意,只有 :tag_name
用于确定元素的 class。对于input元素,我们还需要考虑type属性,这样我们才能正确的分class。
我们应该在 Watir 中修复此问题(记录为 Issue 878),但与此同时,您可以使用 [=14= 手动更正 class(即 Watir::TextField
) ]:
element.following_sibling(tag_name: 'input').to_subtype.clear
在我的项目中,我通过一些其他元素(通过标签)找到了 text_Field,例如
element.following_sibling(tag_name: 'input').send_keys 'something'
但现在它可以毫无问题地输入 text_field,但我缺少 text_field
的 clear 方法,因为它将 clear 和 type 结合在一起。现在我必须在 element.following_sibling(tag_name: 'input')
上调用 clear 方法,但由于它正在返回元素对象,所以我不能那样做。有什么办法可以在这里调用 clear 方法吗?或者我可以通过某种方式将此对象传递给 text_field() 方法吗?任何帮助表示赞赏。
我知道可以通过将 watir 元素转换为 selenium 元素来调用它,如下所示
element.following_sibling(tag_name: 'input').wd.clear
但在这里我错过了 WATIR 等待元素的时间。
我的问题现在有了答案。
答案在这里。
b.text_field(element: element.following_sibling(tag_name: 'input').wd).set 'something'
如果有人有更好的想法,请写下你的answer.Thanks。
这似乎是 Watir 的限制 adjacent methods:
klass = if !plural && opt[:tag_name]
Watir.element_class_for(opt[:tag_name])
elsif !plural
HTMLElement
elsif opt[:tag_name]
Object.const_get("#{Watir.element_class_for(opt[:tag_name])}Collection")
else
HTMLElementCollection
end
请注意,只有 :tag_name
用于确定元素的 class。对于input元素,我们还需要考虑type属性,这样我们才能正确的分class。
我们应该在 Watir 中修复此问题(记录为 Issue 878),但与此同时,您可以使用 [=14= 手动更正 class(即 Watir::TextField
) ]:
element.following_sibling(tag_name: 'input').to_subtype.clear