zoukankan      html  css  js  c++  java
  • 多窗口、句柄(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()
  • 相关阅读:
    .htaccess注释
    Ubuntu开机自启动jar包和Nginx
    Rook部署和管理Ceph集群
    Python 打包 Nuitka
    Python 反射 备查
    Python 屏幕坐标点取色
    Python pynput 监听事件
    【线性代数】基本概念
    C# 调用SendMessage刷新任务栏图标(强制结束时图标未消失)
    Asp.Net Core Swagger 接口分组(支持接口一对多暴露)
  • 原文地址:https://www.cnblogs.com/ygzy/p/9558913.html
Copyright © 2011-2022 走看看