zoukankan      html  css  js  c++  java
  • python+selenium五:多窗口切换与获取句柄

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    import time

    driver = webdriver.Firefox()
    driver.get("http://bj.ganji.com/")
    time.sleep(3)

    1、获取句柄

    # 获取当前的handle名字
    handle = driver.current_window_handle
    print(f"获取到当前的handle:{handle}" )

    # 获取点击后新开页面的handle名字
    driver.find_elements_by_class_name("dt-t")[0].click()
    handle1 = driver.current_window_handle
    print(f"获取到当前的handle:{handle1}" )

    # 获取全部的handle
    handles = driver.window_handles
    print(handles)
    print(type(handles)) # 结果为list类型

    2、切换句柄

    # 切换到最后一个窗口
    driver.switch_to_window(handles[-1])
    driver.switch_to.window(handles[-1])

    # 判断是否切换成功:
    # 可根据title判断
    print(driver.title)
    # 可根据页面唯一元素判断

    # 新页面的元素操作完了,回到第一个页面
    driver.close() # 关闭当前窗口
    driver.switch_to_window(handle)
    print(driver.title)

    # 复数定位的时候,如果页面无刷新,可以直接用一次定位复数的list
    # 页面有刷新的时候,需要重新定位

    # 关闭全部窗口,退出进程
    driver.quit()





  • 相关阅读:
    [转]Java中实现自定义的注解处理器
    [转]IntelliJ IDEA 自定义方法注解模板
    [转]Intellij Idea自动添加注释的方法
    C++中substr的用法
    C++中find()函数和rfind()函数的用法
    无符号类型
    标准库string与C风格字符串
    vector对象
    string 类(二)
    string类
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/9174620.html
Copyright © 2011-2022 走看看