在Python中使用Selenium Webdriver我可以单击打开新浏览器窗口的按钮,但我不知道如何将焦点更改为新窗口。我在互联网上搜索过,但没有找到任何帮助。 问题是窗口没有标题!
我需要的是关注新窗口,因此我可以截取其内容。
以下是打开新窗口的按钮周围的代码:
怎么做......?
答案 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);