• 多窗口、句柄(handle)(四)


    1、认识多窗口

    • 有的页面的链接打开后,会重新打开浏览器的一个标签,若是想在新的窗口上操作,就要先切换窗口
    • 获取窗口的唯一标识就是句柄,只要切换到对应的宽口句柄上就能操作了
    • 实际场景,如赶集网,点击工作时候会多出一个窗口

    2、句柄操作

    • 元素有属性的,窗口也是有属性,只是看不到而已,浏览器的属性使用handle来识别
    • 获取当前窗口的句柄:driver.current_window_handle
    • 获取所有窗口句柄:window_hadnle
    • 切换窗口:driver.switch_to.window()
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()
    driver.get("http://sh.ganji.com/")
    driver.implicitly_wait(5)
    handle1 = driver.current_window_handle
    print("当前窗口句柄"+handle1)
    print(driver.title)
    
    driver.find_element_by_xpath('//a[@href="zhaopin/"]/span[1]').click()
    
    #获取到的所有句柄是个列表,通过列表元素下标进行切换
    handles = driver.window_handles
    print("所有窗口句柄"+handles)
    
    #切换窗口
    driver.switch_to.window(handles[1])
    current_handle = driver.current_window_handle
    print("当前窗口句柄"+current_handle)
    print(driver.title)
    #关闭当前窗口
    driver.close()
    time.sleep(2)
    #结束浏览器的进程
    driver.quit()
  • 相关阅读:
    python3使用多代理访问网站
    批处理写的俄罗斯方块
    Robot Framework安装指南
    Robot Framework 快速入门_英文版
    Robot Framework 快速入门_中文版
    python3操作注册表设置/取消IE代理
    在python3下用PIL做图像处理
    python win32api 使用小技巧
    Python小技巧1
    python编码-1
  • 原文地址:https://www.cnblogs.com/ygzy/p/9558913.html
Copyright © 2020-2023  润新知