2017-01-24 9 views
1

キーワードベースのテストフレームワークを構築しています.Selenium 3.x、Javaを使用しています。私はWeb要素を持っています:ラジオボタンでイベントonclickをトリガーできません

<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); 
     } 
    } 

私は(Internet Explorerの11、Windowsの10プロの)2つのソリューション試してみてください。

ソリューション1

webElement.click(); 

ソリューション2

private RemoteWebDriver remoteWebDriver; 
//... 

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

が、私をまだevをトリガーできませんent onclick。どうやってするの?

+0

このクリックの後にコードがありますか? – acikojevic

+0

正しい要素を探していて、同じロケータで別の要素を取得していませんか? – Guy

+0

正しい要素ですが、私は画面上をクリックしたのを見ましたが、他のテキスト入力で 'setReadOnly'メソッドを呼び出すことはできません。私の問題は、セレンはイベント 'onclick'を引き起こすことができないということです。 –

答えて

1

私が間違っていない場合は、setReadOnly(this)関数を定義する必要があります

関連する問題