【问题标题】:How to handle a window control in Selenium如何在 Selenium 中处理窗口控件
【发布时间】:2016-05-15 14:53:47
【问题描述】:

我目前正在使用 selenium 自动化应用程序,当单击按钮时会出现一个新的弹出窗口。我必须切换到该窗口..它就像我必须填写人名、城市的表格等等

我是 selenium 的新手..所以任何帮助将不胜感激。

【问题讨论】:

  • 除了基里尔的建议。您可以在 JAVA 中使用 Robot Class 来处理 Windows 处理程序。
  • 你应该指定你使用的编程语言,HTML 目标pop-uo的示例和你到目前为止尝试过的代码

标签: selenium selenium-webdriver


【解决方案1】:

点击后,弹出窗口出现.....现在 1.使用Firebug检查Form中的字段(用户名)是否可用 如果您能够检查,则无需将控件移至窗口等任务

只需找到对象路径并对表单中的每个字段执行操作即可。 基本上就是隐藏分区弹窗。

【讨论】:

    【解决方案2】:

    如果显示一个新的弹出窗口并且您想在新窗口中执行操作,您必须首先切换到框架/窗口。

    使用driver.switchTo().frame(1)

    或使用 driver.switchTo().frame("dropboxIframe") [切换到 dropbox 窗口的示例]

    您必须知道框架的名称,您可以使用检查元素找到该名称。

    同样在切换到不同的窗口后,总是提供一些 Thread.sleep 几秒钟以加载该页面。

    完成弹出窗口的工作并想要返回默认框架后,请使用以下命令: driver.switchTo().defaultContent()

    【讨论】:

      【解决方案3】:

      正如@Bravana AS所说,你需要切换到一个框架:

      如果您只有一个新框架,则此框架将为“1”,您的上一页为“0”,因此,请使用:

      driver.switchTo().frame("1");
      

      您可以将 INDEX 和 ID 传递给 frame()

      返回上一页:

      driver.switchTo().defaultContent();
      

      driver.switchTo().frame("0");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-11
        • 2018-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多