无法在单选按钮上触发事件

时间:2017-01-24 07:31:31

标签: javascript java selenium radio-button

我构建了一个基于关键字的测试框架,使用Selenium 3.x,Java。我有一个网络元素:

<input id="radiobutton" name="webserviceBarFlg" onclick="setReadOnly(this)" class="foo-input-radio-margin  foo-input-radio" type="radio" value="true" checked="checked">
<input id="radiobutton" name="webserviceBarFlg" onclick="setReadOnly(this)" class="foo-input-radio-margin  foo-input-radio" type="radio" value="false" checked="checked">

方法Javascript影响其他输入。

    function setReadOnly(obj) {
        var varRadio = $(obj).val();
        var input = $(obj).closest("tr").next("tr").find("input");
        if(varRadio == "false") {
            $(input).attr("readOnly",true);
        } else{
            $(input).attr("readOnly",false);
        }
    }

我尝试了2种解决方案(在Internet Explorer 11,Windows 10 Pro上):

解决方案1 ​​

webElement.click();

解决方案2

private RemoteWebDriver remoteWebDriver;
//...

JavascriptExecutor executor = (JavascriptExecutor) remoteWebDriver;
executor.executeScript("arguments[0].click();", webElement);

但我仍然无法触发事件onclick。怎么做?

1 个答案:

答案 0 :(得分:1)

如果我没弄错的话,你必须定义你的setReadOnly(this)函数