【问题标题】:How to handle the window modal dialog box in Internet Explorer using selenium Webdriver如何使用 selenium Webdriver 处理 Internet Explorer 中的窗口模式对话框
【发布时间】:2019-06-05 01:40:17
【问题描述】:

我正在尝试自动化我遇到窗口模式对话框的场景。请让我知道如何自动化这种情况?我只想知道如何单击出现的弹出窗口上突出显示的确定按钮?请推荐

【问题讨论】:

    标签: selenium


    【解决方案1】:

    试试这个

    driver.switchTo().alert().accept();
    

    【讨论】:

    • 也试过了,但运气不好。控件未切换到警报框,因此无法单击“确定”按钮
    • org.openqa.selenium.UnhandledAlertException:模态对话框存在:请输入搜索条件。
    • 请检查这是我面临的异常
    • 看看this是否有帮助。
    • 只是和上面一位Mate一样
    【解决方案2】:

    您还可以在弹出窗口处于活动状态时发送键盘事件以按下回车键 按回车键相当于点击确定按钮

    在java中使用Robot类

    Robot r = new Robot();
    r.keyPress(KeyEvent.VK_ENTER);
    r.keyRelease(KeyEvent.VK_ENTER)
    

    【讨论】:

    • 尝试通过实现 Robot 类但它在这里不起作用
    • 尝试在Robot r = new Robot();r.delay(500);r.keyPress(KeyEvent.VK_ENTER);r.delay(500);r.keyRelease(KeyEvent.VK_ENTER)r.delay(500);之间添加延迟语句
    【解决方案3】:

    您可以使用 JavascriptExecutor 来试试这个。如果我们使用 findelement 方法找不到元素,它总是有效的

    【讨论】:

      【解决方案4】:

      我刚刚找到了处理这个问题的方法。

      DesiredCapabilities dc = new DesiredCapabilities();

      dc.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);

      d = new FirefoxDriver(dc);

      然后在try catch块中实现警报代码

      try
          {
              Alert alert = driver.switchTo().alert();
              String alertText = alert.getText();
              System.out.println("Alert data: " + alertText);
              alert.accept();
          }
          catch (UnhandledAlertException e)
          {
              e.printStackTrace();
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-19
        • 2011-11-07
        相关资源
        最近更新 更多