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