【问题标题】:How to Handle Pop Up IFrame Window In Selenium如何在 Selenium 中处理弹出的 IFrame 窗口
【发布时间】:2017-03-14 07:18:05
【问题描述】:

我是 Slenium 的新手。

我正在尝试处理弹出表单。

当我点击新建按钮时,会打开这样的弹出式表单。

我尝试通过alert()、弹出处理和子浏览器处理来处理这个。但没有得到解决方案。 请为此问题提出一些解决方案

【问题讨论】:

  • 这个弹出框是 iframe 元素吗?
  • 是的,它被视为一个框架。当我在新标签中打开它时,它被视为一个网页。有这样的网址:www.abc.com/Detail.aspx?type=1

标签: java selenium frame


【解决方案1】:

如果它是一个 iframe> 元素,那么您需要将 WebDriver 切换到此框架才能使用它。以下是您如何执行此操作的示例:

By locIframe = By.xpath("//iframe[@name='popup']");
driver.switchTo().frame(driver.findElement(locIframe));
// driver is an instance of RemoteWebDriver

Xpath 定位器只是一个示例:您需要在此处编写自己的。您也可以使用任何其他定位器在页面源中查找 iframe> 元素。

切换到 iframe 元素后,WebDriver 将看到它的页面源并能够使用它。

【讨论】:

    【解决方案2】:

    我也遇到了类似的问题。在父窗口点击EDIT按钮时,弹出iFrame如下图:`

    如前所述,您尝试使用 alert() 或弹出处理以及子浏览器处理进行处理。但它们都不起作用,因为它是一个 iFrame 弹出窗口。因此,您需要将 WebDriver 切换到此框架才能使用它。 对于我的情况,我确实使用了以下代码:

    driver.switchTo().frame(3);

    要查找帧的索引,您可以使用 Selenium IDE。

    【讨论】:

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