2

有没有人克服了以下问题?

点击提交按钮后,我有一个确认对话框。当我使用driver.switch().alert().accept()Firefox 驱动程序时,我没有看到任何问题。但是当我对 Chrome 驱动程序使用相同的脚本时,什么也没有发生。您能否建议如何解决此问题?

我已经尝试过该getWindowHandle()方法,但这也没有用。

为什么它适用于 Firefox,但不适用于 Chrome?

4

1 回答 1

1

使用警报时,我想最好使用“try/Catch”,尽管它不是传统的。我对 IE 也有同样的问题。Firefox 的警报处理正常,但在 IE 中失败。你可以这样做

try {
        Alert alert = driver.switchTo().alert();
        String AlertText = alert.getText();
        System.out.println(AlertText);
        alert.accept();
    } catch (Exception e) {
        System.out.println("no alert")
    }

类似上面的东西。

更新

public void aLert() {
    boolean a = false;
    try {
        Alert alert = driver.switchTo().alert();
        String AlertText = alert.getText();
        System.out.println(AlertText);
        alert.accept();
        a = true;
    } catch (Exception e) {
        a = false;
    }finally {
        if (a != true) {
            // take ur screenshot or whatever
            driver.findElement(
                    By.xpath(//xpath of the ok button or accept button)click();
        }
    }

}
于 2013-07-23T09:18:12.817 回答