2017-01-24 4 views
1

Я построю основы тестирования на основе ключевых слов, использую Selenium 3.x, Java. У меня есть веб-элемент:Невозможно вызвать событие 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); 
     } 
    } 

Стараюсь 2 решения (на Internet Explorer 11, Windows 10 Pro):

Решение 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' на другом вводе текста. Моя проблема заключается в том, что Selenium не может инициировать событие 'onclick'. –

ответ