【问题标题】:is there a way to Click OK in pop window on chrome using Selenium Webdriver有没有办法使用 Selenium Webdriver 在 chrome 的弹出窗口中单击 OK
【发布时间】:2013-06-27 10:05:13
【问题描述】:

我正在创建一个测试项目,单击按钮系统会弹出一个窗口,我需要单击“确定”但无法使用以下代码:

@Test
public void testAddNewUserMakeSuperUser() throws Exception {
    driver.get("https://webqa.searshc.com/ssod/Admin/createUser.html");
    driver.findElement(By.id("saveUserDetails")).click();
    Alert alert = driver.switchTo().alert();
    System.out.println(alert.getText());
    alert.accept();
}

我用过

executeScript = ((JavascriptExecutor) driver).executeScript("window.confirm = function(msg) { return true; }");

也...但我无法运行它。

【问题讨论】:

    标签: google-chrome selenium selenium-webdriver


    【解决方案1】:

    您应该首先测试点击之前页面上是否存在警报。

    像这样:

        public static bool IsAlertPresent(this IWebDriver driver)
        {
            try
            {
                driver.SwitchTo().Alert();
                return true;
            }
            catch
            {
                return false;
            }
        }
    

    然后:

        public static void ConfirmAlert(this IWebDriver driver)
        {
            driver.SwitchTo().Alert().Accept();
        }
    

    【讨论】:

      【解决方案2】:

      这对我有用 executeScript = ((JavascriptExecutor) driver).executeScript("window.confirm = function(msg) { return true; }");

      【讨论】:

        【解决方案3】:

        【讨论】:

        • 关于 Stack Overflow 的答案应该是独立的。请在您的答案中包含最重要的外部来源。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多