码迷,mamicode.com
首页 > 其他好文 > 详细

7. 多窗口切换,获取句柄

时间:2019-07-02 21:30:21      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:点击   tps   int   imp   视频   https   tor   sel   技术   

有时候点击某个链接会打开一个新的窗口,获取窗口的唯一标识用句柄表示,以凤凰网为例:https://v.ifeng.com/

  • 获取当前窗口的句柄:driver.current_window_handle
  • 获取所有句柄: driver.window_handles

  • 切换句柄:driver.switch_to.window()
    • 循环判断句柄是否与首页句柄相等
    • 如果不相等,则说明是新的页面
    • 获取到新的句柄,切换到新打开的页面
    • 打印新页面的title,查看是否切换成功
  • from selenium  import webdriver
    import time
    driver=webdriver.Firefox()
    driver.get("https://www.ifeng.com/")
    time.sleep(3)
    #获取当前窗口的句柄
    h=driver.current_window_handle
    print(h)
    print (driver.title)
    #定位视频并打开视频页面,获取所有的句柄
    s=driver.find_element_by_css_selector("#nav > li:nth-child(2) > a:nth-child(1)").click()
    time.sleep(5) #需要增加sleep时间,以确保新窗口打开,获取新的句柄
    all_h=driver.window_handles
    print(all_h)
    #循环判断句柄是否与首页句柄相等
    for i in all_h:
        if i!=h:
            #如果不等于首页句柄,则切换到新打开的页面,并打印其title
            driver.switch_to.window(i)
            print (driver.title)
    ‘‘‘
        #验证title
        if u"视频门户" in driver.title:
            print("页面打开正常")
        else:
            print("页面打开失败")
    ‘‘‘
    #关闭窗口
    driver.close()
    #切换到首页
    driver.switch_to.window(h)
    #打印当前窗口句柄,查看是否切回首页
    print (driver.current_window_handle)

    打印的结果

    6442450945
    凤凰网
    [6442450945, 6442450987]
    凤凰视频首页-最具媒体价值的视频门户-凤凰网
    6442450945

    技术图片

7. 多窗口切换,获取句柄

标签:点击   tps   int   imp   视频   https   tor   sel   技术   

原文地址:https://www.cnblogs.com/Arcy/p/11122996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!