一、窗口句柄
- handle,窗口句柄,是一个字符串,是浏览器窗口的唯一识别码
- 当超链接包含属性target=”_blank”时,点击就会在新的窗口打开
- 当新的窗口打开网页时,浏览器会给新窗口随机分配一个handle
二、切换窗口的方法
- 获取当前窗口句柄:driver.current_window_handle
- 获取所有窗口句柄:driver.window_handles
- 切换到指定窗口:driver.switch_to.window(handle)
三、切换窗口的思路
(1)在当前页面获取当前的窗口句柄handle1,是一个字符串
(2)然后点击链接打开新窗口,获取所有句柄handles,是一个列表
# 获取当前的窗口句柄
current_handle = driver.current_window_handle
print("百度首页的窗口句柄是:",current_handle, type(current_handle))
# 在【更多】上悬停鼠标
more = driver.find_element_by_link_text("更多")
action.move_to_element(more).perform()
# 点击音乐
driver.find_element_by_link_text("音乐").click()
# 获取所有窗口句柄
handles = driver.window_handles
print("所有的窗口句柄是:",handles,type(handles))
(3)方案1:根据索引获取新窗口的句柄
# 切换到新窗口--根据索引获取新窗口句柄
driver.switch_to.window(handles[1])
(4)方案2:for循环遍历列表元素,如果某一个元素的值不等于当前窗口句柄handle,那么它就是新窗口的句柄
# 遍历获取新句柄
for handle in handles:
# 判断是否等于当前窗口的句柄
if handle != current_handle:
handles_music = handle
# 切换窗口
driver.switch_to.window(handles_music)
(5)根据新窗口的句柄切换窗口,进行操作
本文转载自: https://blog.csdn.net/chengdiyiyo/article/details/121101530
版权归原作者 LilGaage 所有, 如有侵权,请联系我们删除。
版权归原作者 LilGaage 所有, 如有侵权,请联系我们删除。