重点关注Selenium Webdriver和Python中的新窗口

时间:2014-10-15 09:55:12

标签: python selenium webdriver

在Python中使用Selenium Webdriver我可以单击打开新浏览器窗口的按钮,但我不知道如何将焦点更改为新窗口。我在互联网上搜索过,但没有找到任何帮助。 问题是窗口没有标题!

我需要的是关注新窗口,因此我可以截取其内容。

以下是打开新窗口的按钮周围的代码:

enter image description here

怎么做......?

2 个答案:

答案 0 :(得分:6)

您需要使用.switchTo(windowHandle);命令访问第二个窗口。

在打开第二个窗口之前 - 获取打开窗口的windowHandle:

String mainWindow = driver.getWindowHandle();

然后执行打开第二个窗口的操作。现在,您需要知道第二个窗口的句柄并将控制权切换到它:

Set<string> handles = driver.getWindowHandles();  
    for (String handle : handles) {
        if (!handler.equals(mainWindow)) {
            driver.switchTo(handle);
            break;
    }
}

您对第二个窗口的操作现在将在第二个窗口中进行。当您完成并需要再次与第一个窗口进行互动时:driver.switchTo().defaultContent();

答案 1 :(得分:1)

这在Python中对我有用:

another_window = list(set(driver.window_handles) - {driver.current_window_handle})[0]
driver.switch_to.window(another_window);