0


python-web自动化测试-多窗口切换handle

一、窗口句柄

  1. handle,窗口句柄,是一个字符串,是浏览器窗口的唯一识别码
  2. 当超链接包含属性target=”_blank”时,点击就会在新的窗口打开
  3. 当新的窗口打开网页时,浏览器会给新窗口随机分配一个handle

二、切换窗口的方法

  1. 获取当前窗口句柄:driver.current_window_handle
  2. 获取所有窗口句柄:driver.window_handles
  3. 切换到指定窗口: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 所有, 如有侵权,请联系我们删除。

“python-web自动化测试-多窗口切换handle”的评论:

还没有评论