Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何根据给定的HTML单击单选按钮_Java_Selenium_Selenium Webdriver_Xpath_Css Selectors - Fatal编程技术网

Java 如何根据给定的HTML单击单选按钮

Java 如何根据给定的HTML单击单选按钮,java,selenium,selenium-webdriver,xpath,css-selectors,Java,Selenium,Selenium Webdriver,Xpath,Css Selectors,我正在使用一个参考,如下所示,作为单选按钮 <input id="checkmo" class="radio" type="radio" data-bind="attr: {'id':getCode()}, value: getCode(), checked: isChecked, click: selectPaymentMethod, visible: isRadioButtonVisible()" name="payment[method]" value="checkmo"/>

我正在使用一个参考,如下所示,作为单选按钮

<input id="checkmo" class="radio" type="radio" data-bind="attr: {'id':getCode()}, value: getCode(), checked: isChecked, click: selectPaymentMethod, visible: isRadioButtonVisible()" name="payment[method]" value="checkmo"/>
您可以引入WebDriverWait,它在Selenium中是显式等待的

代码:

您尝试与之交互的单选按钮是一个元素,因此您需要引导WebDriverWait使该元素可单击,并且您可以使用以下任一解决方案:

CSS选择器:

xpath:


您是否在单击收音机按钮之前使用了显式等待?您是否遇到任何异常?如果是,请分享详细信息。是的,我们需要了解例外情况,以便进一步分析。请尝试radioBtn.change;
WebElement radioBtn = driver.findElement(By.id("checkmo"));
radioBtn.click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.id("checkmo"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.radio#checkmo"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='radio' and @id='checkmo']"))).click();