【问题标题】:Unable to switch back to default frame无法切换回默认框架
【发布时间】:2018-03-21 19:08:43
【问题描述】:

我正在处理以下场景。

我单击主网页中的一个元素,它会打开一个对话框。它是一个 iframe,我使用 diver.switchTo().frame(1); 访问该框架。我能够在该框架中执行所需的活动。单击该框架中的“确定”按钮将关闭它。一旦框架关闭,我将无法访问主页中的任何元素。我使用以下内容切换回主页 driver.switchTo().defaultContent()driver.switchTo().frame(0)。但他们都没有让我回到主页。

由于框架关闭,我也尝试不使用任何 switchTo() 语句。但它也没有工作。

请帮助我解决其他可能的解决方案。提前致谢!

【问题讨论】:

  • 请发布相关的html

标签: java selenium selenium-webdriver


【解决方案1】:

需要切换回原来的窗口(Java代码)

String windowHandle = driver.getWindowHandle(); // save the original window handle

// handle the pop up

driver.switchTo().window(windowHandle);

【讨论】:

    【解决方案2】:

    当您尝试切换回 顶级浏览上下文时,您的以下代码试用应该可以工作:

    driver.switchTo().defaultContent();
    

    你也可以试试:

    driver.switchTo().parentFrame();
    

    有时可能会发生驱动程序失去窗口焦点的情况,在这种情况下,您必须通过以下方式重新获得浏览器上的焦点:

    ((JavascriptExecutor) driver).executeScript("window.focus();");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 2015-02-23
      • 2013-10-11
      • 1970-01-01
      • 2018-08-13
      相关资源
      最近更新 更多