IEDriver在switch_to_window()上崩溃

时间:2015-06-01 12:34:51

标签: python selenium internet-explorer-11

所以我知道IE Driver现在有很多问题,但我似乎无法找到问题的答案。我已打开所有保护模式,并关闭了增强保护功能。

所以这是我的代码,我遇到了问题。

browser.find_element_by_class_name("clients_advsearch").click()
handles = browser.window_handles

## find new popup window
new_handle = []
if handles[0] == browser.current_window_handle:
   new_handle = handles[1]
else:
new_handle = handles[0]

browser.switch_to_window(new_handle)  ## either doesn't go to next step if it goes to new window, or goes to next step with the bad handle
browser.switch_to_frame("frameWCSet")  ## doesn't find the frame if on the right page, or doesn't find it at all since its on the wrong page 

从这里开始,我不知道如何继续使用IEDriver。这在Chromium中运行良好,但显然IEDriver是一个完全不同的野兽,我被迫使用IE来完成这项任务。

我正在使用Internet Explorer 11,并且我已经遵循了Github / googlecode问题页面中的所有建议而无济于事。

编辑:如果它可以提供帮助,我的手柄也会偶尔消失。

1 个答案:

答案 0 :(得分:0)

根据来源here。 不推荐使用switch_to_window()switch_to_frame()。请参阅doc

使用

driver.switch_to.window

driver.switch_to.frame

browser.current_window_handle:

不返回所有窗口句柄的列表。它只返回当前句柄。所以,你应该使用

window_handles

请参阅文档