单选按钮元素  

概述

可以通过 Watir::RadioWatir::RadioSet 与单选按钮进行交互。 (RadioSet 是在 Watir 6.8 中添加的)

这些可以通过分别调用 Browser#radioBrowser#radio_set 来访问。创建 RadioCollection 是通过 Browser#radios 完成的,但你应该始终优先使用 RadioSet。有关定位 Radio 元素的不同方法,请查看我们的 定位元素指南。一个 RadioSet 是通过传入 RadioSet 中包含的任何 Radio 元素的有效定位器来定位的(因此通常使用 :name 属性定位器)。

单选按钮很特殊,因为在具有特定名称的表单中,一次只能选择一个按钮。你可以识别你想要的特定单选按钮并与之交互,或者你可以识别整个组并使用 RadioSet 选择你想要的按钮,方法是通过值或文本。

它们还继承了标准 Web 元素 的方法

常用或特殊方法

标准设置器接口

此功能是在 Watir 7 beta 2 中添加的。

Radio#set 与超类 Element 的行为相同;如果没有传递参数或传递了 true,它将单击链接。 RadioSet#set#select 的别名。它接受一个 StringRegexp 参数。Watir 将选择第一个通过 valuetextlabel 属性匹配的 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

上次更新:2021 年 3 月 28 日