为什么我不能使用Selenium选择单选按钮?按钮高亮显示,但未选中
我在InternetExplorer8中使用C 我有以下单选按钮代码:为什么我不能使用Selenium选择单选按钮?按钮高亮显示,但未选中,selenium,webdriver,Selenium,Webdriver,我在InternetExplorer8中使用C 我有以下单选按钮代码: wait.Until(ExpectedConditions.ElementExists(By.Id("optNoteReplace"))); driver.FindElement(By.Id("optNoteReplace")).Click(); 当我单步浏览代码时,Click命令被静默执行,下一行高亮显示。没有错误,但未选择单选按钮 代码行执行后,单选按钮周围立即出现一个小的模糊正方形。我认为这证明选择了正确的单选按钮
wait.Until(ExpectedConditions.ElementExists(By.Id("optNoteReplace")));
driver.FindElement(By.Id("optNoteReplace")).Click();
当我单步浏览代码时,Click命令被静默执行,下一行高亮显示。没有错误,但未选择单选按钮
代码行执行后,单选按钮周围立即出现一个小的模糊正方形。我认为这证明选择了正确的单选按钮
如果我更改代码行以选择另一个单选按钮,则第一个按钮上的方块将消失,第二个按钮上的方块将重新出现
我将不胜感激 请注意css选择器或xPAth,您可以使用它来查找radiobutton。 我通常在ffox中使用firepath firebug插件 在java中对我起作用的是:
@Test
public void radioButtonCheck(){
driver.get("http://www.abw.by/index.php?act=finance");
fluentWait(By.cssSelector("html body div table#main_tb tbody tr td#main_td01 div.block table tbody tr td noindex div div table tbody tr td div:first-child>input:first-child")).click();
}
public WebElement fluentWait(final By locator){
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, TimeUnit.SECONDS)
// .pollingEvery(5, TimeUnit.SECONDS)
.pollingEvery(1, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(
new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
}
);
return foo; } ;
也可以尝试改用wait.Until wait。阅读一些关于fluent wait的附加信息
希望这对您有所帮助我能看到id=optnoteplace的元素代码吗?弗拉德:我想您指的是HTML。如果没有,请让我知道:这个论坛和其他论坛上的一些海报非常慷慨地提供了大约20个不同的等待代码。此时,我只对尝试单击单选按钮感兴趣。我对等待代码不感兴趣。原因如下。我不是技术员。我被要求每周只做几个小时的测试。执行速度不是问题。我使用带有断点的F5和F10从C Visual Studio Express IDE中运行所有代码。当发生错误时,有问题的行高亮显示为黄色…更多…如果有超时,我只需点击F10或F5,直到没有超时错误。在我找到如何单击单选按钮后,我将稍后返回并添加相应的等待代码。请确保只有一个元素具有此Id。另外,尝试使用例如value属性单击它。