我正在尝试在页面中选择’是”否’选项,因为正常的’Click()’不起作用,我为此使用了JSExecutor!问题在于它正在选择选项,但是该值从未作为输入发送,并且当我尝试继续时应用程序将引发错误.
尝试以差异方式使用xpath!
WebElement st_1 = driver.findElement(By.id("app-select-no"));
((JavascriptExecutor)driver).executeScript("arguments[0].checked = true;", st_1);
以下是HTML
div class="form-group input-form-group col-xs-6">
<input id="app-select-no" class="form-control ng-pristine ng-untouched ng-valid ng-valid-required" type="radio" ng-value="false" ng-model="openAccount.abc" required="" name="affRadioGroup" value="false" aria-checked="true" tabindex="0" aria-required="false" aria-invalid="false"/>
<label class="field-label-radio text-bold active" ng-class="{active : openAccount.abc==false}" for="app-select-no">
<span translate-once="NO_BUTTON">No</span>
</label>
</div>
解决方法:
让我看看如果我理解的话,您正在尝试在该元素上选择“是”或“否”,但是我看到您单击的元素是输入.除了单击元素之外,还需要将“值”发送到输入.
我想您的问题不是executeScript的点击,但是您也可以尝试以下操作:
WebElement st_1 = driver.findElement(By.id("app-select-no"));
((JavascriptExecutor)driver).executeScript("arguments[0].click();", st_1 );
并将值发送给该输入,您需要执行以下操作:
driver.findElement(By.id("st_1")).sendKeys("value here");
希望能帮助到你.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。