我正在模拟与 Selenium 的用户交互,例如,我基本上在导航模式上单击了 3 次。
在每个窗口,我都在映射它window_handle并且我意识到,它current_window_handle总是返回相同的标识符,并且window_handles总是具有相同的大小,而不是拥有一个窗口对象列表。
因此,我不能从window_3to切换window_1,因为current_window_handle总是一样的......
这是一个示例,用于演示问题(单击链接的代码被禁止,以便将问题集中在我遇到问题的代码上):
# click on a link, wait and get window handle
window_1 = browser.current_window_handle
print(window_1)
print(browser.window_handles)
print(browser.session_id)
browser.implicitly_wait(3)
# click on a link, wait and get window handle
window_2 = browser.current_window_handle
print(window_2)
print(browser.window_handles)
print(browser.session_id)
browser.implicitly_wait(3)
# click on a link, wait and get window handle
window_3 = browser.current_window_handle
print(window_3)
print(browser.window_handles)
print(browser.session_id)
结果:
CDwindow-18D629A1BFC3391C5AE352F02768EFA3
['CDwindow-18D629A1BFC3391C5AE352F02768EFA3']
c50563aa58c1565d8c82ead6653e65a4
CDwindow-18D629A1BFC3391C5AE352F02768EFA3
['CDwindow-18D629A1BFC3391C5AE352F02768EFA3']
c50563aa58c1565d8c82ead6653e65a4
CDwindow-18D629A1BFC3391C5AE352F02768EFA3
['CDwindow-18D629A1BFC3391C5AE352F02768EFA3']
c50563aa58c1565d8c82ead6653e65a4
根据 Selenium API Doc:
– current_window_handle
用法:driver.current_window_handle
– 窗口句柄
返回当前会话中所有窗口的句柄。
用法:driver.window_handles
如您所见,会话 ID 始终相同。
在这种情况下可能会出现什么问题?
慕莱坞森
相关分类