我在Internet Explorer 8中使用C#。
我有一个单选按钮的代码:
wait.Until(ExpectedConditions.ElementExists(By.Id("optNoteReplace")));
driver.FindElement(By.Id("optNoteReplace")).Click();
当我单步执行代码时,将以静默方式执行Click命令,并突出显示下一行。没有错误,但未选中单选按钮。
执行代码行后,立即在单选按钮周围出现一个小的微弱方块。我认为这证明选择了正确的单选按钮。
如果我改变代码行以选择另一个单选按钮,则方形将从第一个按钮消失,并再次出现在第二个按钮周围。
如果有任何帮助,我将不胜感激。
答案 0 :(得分:0)
注意css选择器或xPAth,您尝试使用它来定位radiobutton。 我通常使用firepath(ffox中的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流利的等待。阅读一些关于流利等待here
的附加信息希望这可以帮助你)