单选按钮元素
概述
可以通过 Watir::Radio
或 Watir::RadioSet
与单选按钮进行交互。 (RadioSet
是在 Watir 6.8 中添加的)
这些可以通过分别调用 Browser#radio
或 Browser#radio_set
来访问。创建 RadioCollection
是通过 Browser#radios
完成的,但你应该始终优先使用 RadioSet
。有关定位 Radio
元素的不同方法,请查看我们的 定位元素指南。一个 RadioSet
是通过传入 RadioSet
中包含的任何 Radio
元素的有效定位器来定位的(因此通常使用 :name
属性定位器)。
单选按钮很特殊,因为在具有特定名称的表单中,一次只能选择一个按钮。你可以识别你想要的特定单选按钮并与之交互,或者你可以识别整个组并使用 RadioSet 选择你想要的按钮,方法是通过值或文本。
它们还继承了标准 Web 元素 的方法
常用或特殊方法
Radio#select
Radio#selected?
RadioSet#selected
RadioSet#selected?
RadioSet#select
RadioSet#text
RadioSet#value
标准设置器接口
此功能是在 Watir 7 beta 2 中添加的。
Radio#set
与超类 Element
的行为相同;如果没有传递参数或传递了 true
,它将单击链接。 RadioSet#set
是 #select
的别名。它接受一个 String
或 Regexp
参数。Watir 将选择第一个通过 value
、text
或 label
属性匹配的 Radio
。
示例
browser = Watir::Browser.start 'watir.com/examples/simple_form.html'
radio_no_newsletter = browser.radio(id: 'newsletter_no')
radio_no_newsletter.text == 'No' # => true
radio_no_newsletter.selected? == false # => true
radio_no_newsletter.select(false)
radio_no_newsletter.selected? == false # => true
radio_no_newsletter.select
radio_no_newsletter.selected? == true # => true
radio_no_newsletter.select(true)
radio_no_newsletter.selected? == true # => true
radio_no_newsletter.select(false) # (can't unselect a radio button so this is ignored)
radio_no_newsletter.selected? == true # => true
radioset = browser.radio_set(name: 'newsletter')
radioset.select('Yes')
radioset.selected.is_a?(Watir::Radio) # => true
radioset.selected?('No') == false # => true
radioset.text == 'Yes' # => true
radioset.value == 'yes' # => true
browser.close