0

我在 Internet Explorer 8 中使用 C#。

我有以下单选按钮代码:

wait.Until(ExpectedConditions.ElementExists(By.Id("optNoteReplace")));
driver.FindElement(By.Id("optNoteReplace")).Click();

当我单步执行代码时,Click 命令会静默执行,并且下一行会突出显示。没有错误,但未选择单选按钮。

代码行执行后,单选按钮周围立即出现一个小方块。我认为这证明选择了正确的单选按钮。

如果我更改代码行以选择另一个单选按钮,则正方形从第一个按钮消失,并重新出现在第二个按钮周围。

如有任何帮助,我将不胜感激。

4

1 回答 1

0

注意您尝试使用它来定位单选按钮的 css 选择器或 xPAth。我通常使用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 fluent wait。在此处阅读有关流利等待的一些附加信息

希望这对你有帮助)

于 2012-09-12T14:12:57.877 回答