我构建了一个基于关键字的测试框架,使用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。怎么做?
答案 0 :(得分:1)
如果我没弄错的话,你必须定义你的setReadOnly(this)函数