单击链接时,阻止硒打开新窗口

see*_*spi 7 python selenium webdriver new-window

我将硒测试导出到python,并使用shell运行测试。我到达某个位置,单击链接,然后网络驱动程序打开了一个全新的Firefox窗口,然后出现一条错误消息,提示驱动程序在页面上找不到输入选项。我认为问题在于,当它打开新窗口时,驱动程序未在新窗口上运行,这就是为什么它找不到输入选项的原因。如何获得脚本以保留在同一窗口上或将其焦点切换到新窗口?

谢谢!

Nat*_*ill 4

我不知道如何在 python 中执行此操作,但应该有一个切换到新窗口的功能。

在Java中,我这样做:

Set<String> availableWindows = driver.getWindowHandles();
for (String windowHandle : availableWindows) {
    driver.switchTo().window(windowHandle);
    if (getTitle().contains(TITLE_TO_MATCH)){
           driver.manage().window().maximize();
            return;
    }
}
Run Code Online (Sandbox Code Playgroud)

(想要的功能是driver.switchTo().window(NameOrHandle)

  • 谢谢,这在 python 中非常相似。 `aw = driver.window_handles` `driver.switch_to_window(aw[1])` 如果只打开一个窗口,则原始窗口将为 aw[0],新窗口将为哇[1]。如果您打开了更多窗口,那么您可以随时打印它们并手动输入它们,或者只是跟踪它们在列表中的位置。再次感谢蒂先生 (2认同)