由于父窗口关闭,无法读取硒中的子窗口元素

肯定的

我正在使用硒自动化技术。我已经编码为登录页面,并且可以正常工作。
通过登录并因此打开了新的子窗口,并且关闭了父窗口。

因此,我的Web驱动程序停止运行并导致异常。
线程异常main org.openqa.selenium.NoSuchWindowException

找不到窗口(警告:服务器未提供任何堆栈跟踪信息)

请帮忙

Selenium保留一个窗口(句柄)列表。网络驱动程序需要指向正确的句柄。关闭窗口后,其句柄将被删除,您的驱动程序现在将指向不再存在的对象。

可能,您必须显式切换窗口以将驱动程序指向正确的窗口句柄。也许这可以帮助:

  1. 使用Selenium WebDriver在两个浏览器窗口之间切换
  2. Selenium python绑定:在窗口和框架之间移动

“结果打开了新的子窗口,并且关闭了父窗口”

下面的(1)的代码向您展示如何检索窗口句柄的列表,以及如何基于其标题检索正确的句柄。

private void handleMultipleWindows(String windowTitle) {
        Set<String> windows = driver.getWindowHandles();

        for (String window : windows) {
            driver.switchTo().window(window);
            if (driver.getTitle().contains(windowTitle)) {
                return;
            }
        }
    }

您可以使用该功能(或类似功能)来检索新窗口。从您提供的代码中,将得出:

// Entering the credentials in the login window.
driver.findElement(By.id(txtUserId)).clear();
driver.findElement(By.id(txtUserId)).sendKeys(poovan);
driver.findElement(By.id(txtPassword)).clear();
driver.findElement(By.id(txtPassword)).sendKeys(welcome1);
driver.findElement(By.id(btnSubmit)).click();
// Here the login window gets closed, handler to that window disappears, and driver becomes stale.
// So we need update the driver to point to the new window
handleMultipleWindows("The title of my new window");
driver.findElement(By.name(bono)).sendKeys(080);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在JavaFX中关闭子窗口后如何刷新父窗口?

来自分类Dev

关闭父窗口时关闭子窗口(弹出窗口)

来自分类Dev

当父窗口关闭时,关闭所有子窗口

来自分类Dev

关闭子窗口时,如何清除存储在父应用程序中的子窗口引用?

来自分类Dev

当子窗口在 WPF 中处于活动状态时如何防止关闭父窗口

来自分类Dev

ZK:在关闭子窗口时刷新父窗口

来自分类Dev

关闭子窗口将父窗口最小化

来自分类Dev

PHP关闭子窗口后刷新父窗口

来自分类Dev

关闭MDI父窗口的确认窗口而不关闭子窗口

来自分类Dev

从子窗口重定向到父窗口并关闭子窗口

来自分类Dev

硒浏览到IE11上的其他页面时,无法在关闭的窗口中找到元素

来自分类Dev

在js中更新父窗口元素

来自分类Dev

子关闭后如何防止父窗口进入后台?

来自分类Dev

无法在WPF C#中关闭窗口

来自分类Dev

无法在 OpenCV 中关闭视频窗口

来自分类Dev

无法关闭 kivy 中的弹出窗口

来自分类Dev

检查父窗口关闭事件

来自分类Dev

无法关闭inAppBrowser窗口

来自分类Dev

无法关闭弹出窗口

来自分类Dev

无法关闭电子窗口

来自分类Dev

GLFW窗口无法关闭

来自分类Dev

无法关闭 tkinter 窗口

来自分类Dev

如何在JavaScript的子窗口关闭时调用父窗口函数?

来自分类Dev

隐藏父窗口,但显示子窗口

来自分类Dev

滚动子窗口“溢出”到父窗口

来自分类Dev

关闭JavaScript中的弹出窗口后如何刷新父页面?

来自分类Dev

是否可以从父窗口关闭子窗口?

来自分类Dev

硒中的获取窗口句柄

来自分类Dev

由于自动注销,tmux窗口关闭