web自动化-窗口句柄及位置变化

发布时间:2019-03-19 20:59:29编辑:auto阅读(2321)

    在进行web自动化时,很容易会遇到多窗口进行切换测试,下面就对多窗口的一些句柄和切换及窗口句柄顺序简单总结一下

    1 from selenium import webdriver
    2 driver = webdriver.Firefox()
    3 driver.get("https://www.baidu.com")

    打开百度网页后,我们手动选择几个链接并打开,新打开的窗口全部在tab签上按打开顺序从左至右排开

    实际打开的三个窗口为:

     

    我们一获取一个窗口的句柄,得出的是一个列表

    >>> driver.window_handles
    ['6442450945', '6442450950', '6442450962']
    

     

    我们把窗口位置 调整一下,把百度首页移动到最后

     

    再次获取窗口句柄,发现也跟着变化了

    >>> driver.window_handles
    ['6442450950', '6442450962', '6442450945']
    

     

    由此可见窗口的句柄排列顺序是按照浏览器tab栏从左往右开始统计,比如我要切换到最后一个窗口

    >>> driver.switch_to_window(driver.window_handles[-1])  #通过索引方式进行窗口选择
    >>> driver.switch_to_window('6442450962') # 直接通过窗口的句柄名称进行选择
    

      

     

关键字