Selenium - 接受确认对话框在Firefox中正常工作但在Chrome中不能正常工作

时间:2013-07-23 00:05:53

标签: selenium webdriver selenium-webdriver

有没有人克服了下面这个问题?

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

我尝试了getWindowHandle()方法,但这也没有用。

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

1 个答案:

答案 0 :(得分:1)

使用Alert时,我认为使用“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();
        }
    }

}