使用Ruby和Watir设置单选按钮

使用Ruby和Watir设置单选按钮,ruby,radio-button,watir-webdriver,Ruby,Radio Button,Watir Webdriver,对,我对一段代码有问题。我知道如何设置单选按钮,我可以在大多数网站上设置。但是当试图设置下面代码给出的值时,我无法使其工作。我用ect标签尝试了“等待”、“家长设置”,并搜索了所有种类。谁能给我指出正确的方向 <div class="CheckBoxContainer"> <ol> <li> <span class="radio" style="background-position: 0px 0px;"></spa

对,我对一段代码有问题。我知道如何设置单选按钮,我可以在大多数网站上设置。但是当试图设置下面代码给出的值时,我无法使其工作。我用ect标签尝试了“等待”、“家长设置”,并搜索了所有种类。谁能给我指出正确的方向

<div class="CheckBoxContainer">

<ol>
    <li>
        <span class="radio" style="background-position: 0px 0px;"></span>
        <input class="styled" type="radio" value="1" name="clocksource"></input>
        <label class="dialogRT">

            Internal

        </label>
    </li>
    <li>
        <span class="radio" style="background-position: 0px 0px;"></span>
        <input class="styled" type="radio" value="3" name="clocksource"></input>
        <label class="dialogRT">

            External AES50

        </label>
    </li>
    <li>
        <span class="radio" style="background-position: 0px -50px;"></span>
        <input class="styled" type="radio" checked="checked" value="2"       name="clocksource"></input>
        <label class="dialogRT">

            External Snake

        </label>
    </li>
</ol>
谢谢


Maximillion

我怀疑你有时间问题。试试这个:

Watir::Wait.until { @browser.element.visible?, thing  }

使用您的html代码片段对我来说效果很好。也许你需要提供更多的页面,例如相关的样式表。好吧,我现在不能这样做,奇怪的是如果我在所有三个选项上都设置了“browser.radio(:name=>'clocksource',:value=>'1')。exist',它们都会说true,但是,尝试更改它们时,它会显示不可见。此外,当我执行.value时,它会声明一个值,当显示屏清晰地显示3时,它会高亮显示。
.exist?
仅检查元素是否存在于DOM中。它不会检查元素是否对用户可见,这正是异常所抱怨的。如果改为使用
.visible?
,则可能是
false
。当您执行
.value
时,您是否正在执行
browser.radio(:name=>'clocksource')。value
?如果是,那么得到“1”是正确的。Watir返回第一个匹配的单选按钮,而不是选中的单选按钮。啊,我看到我的部分有误解,你是对的。visible显示为所有三个都为false。我在做。没有疑问,不知道这是否有什么区别。我对网页代码知之甚少,为什么一些活动控件不可见?与代码构造有关吗?实际上我已经试过了,我发现问题实际上是我试图测试的页面的实现。由于样式表的原因,这些元素始终不可见。
Watir::Wait.until { @browser.element.visible?, thing  }