• selenium的其他方法


    1 selenium 处理cookie

    driver.get_cookies()获取的是完整的cookie信息!不光有name、value,还有domain等其他信息!

    # 把cookie转为字典
    cookies_dict = {cookie['name']: cookie['value'] for cookie in driver.get_cookies()}

    # 删除一条cookie
    driver.delete_cookie("CookieName")

    # 删除全部cookie
    driver.delete_all_cookies()

    2.执行js代码

    import time
    from selenium import webdriver
    
    driver = webdriver.Chrome(executable_path='/home/worker/Desktop/driver/chromedriver')
    driver.get("http://www.itcast.cn/")
    time.sleep(1)
    
    js = 'window.scrollTo(0,document.body.scrollHeight)' # js语句
    driver.execute_script(js) # 执行js的方法
    
    time.sleep(5)
    driver.quit()

    4 switch方法切换的操作,切换窗口的方法如下:

    # 1. 获取当前所有的窗口
    current_windows = driver.window_handles
    
    # 2. 根据窗口索引进行切换
    driver.switch_to.window(current_windows[1])
    代码:
    import time
    from selenium import webdriver
     
    driver = webdriver.Chrome(executable_path='/home/worker/Desktop/driver/chromedriver')
    driver.get("https://www.baidu.com/")
     
    time.sleep(1)
    driver.find_element_by_id('kw').send_keys('python')
    time.sleep(1)
    driver.find_element_by_id('su').click()
    time.sleep(1)
    # 通过执行js来新开一个标签页
    js = 'window.open("https://www.sogou.com");'
    driver.execute_script(js)
    time.sleep(1)
     
    # 1. 获取当前所有的窗口
    windows = driver.window_handles
     
    time.sleep(2)
    # 2. 根据窗口索引进行切换
    driver.switch_to.window(windows[0])
    time.sleep(2)
    driver.switch_to.window(windows[1])
     
    time.sleep(6)
    driver.quit()
    # iframe
    login_frame = driver.find_element_by_id('login_frame') # 定位frame元素
    driver.switch_to.frame(login_frame) # 转向到该frame中
    # 当你触发了某个事件之后,页面出现了弹窗提示,处理这个提示或者获取提示信息方法如下:
    driver.switch_to.alert() # 跟frame一样的处理方式!
    
    

    5. 页面前进和后退

    driver.forward()     # 前进
    driver.back()        # 后退

    小结

    1. 获取cookie: get_cookies()
    2. 删除cookie: delete_all_cookies()
    3. 切换窗口:switch_to.window()
    4. 切换iframe: switch_to.frame()

    6. selenium的优缺点

      • selenium能够执行页面上的js,对于js渲染的数据和模拟登陆处理起来非常容易
      • selenium由于在获取页面的过程中会发送很多请求,所以效率非常低,所以在很多时候需要酌情使用

     

  • 相关阅读:
    python的使用
    SFM(structure from motion)
    linux 常用命令
    opencv图像操作
    两圆位置判断
    nat123动态域名解析软件使用教程
    IIS负载均衡
    Oracle 查询表信息(字段+备注) .
    【原创】开源.NET排列组合组件KwCombinatorics使用(三)——笛卡尔积组合
    visual studio 2013使用技巧
  • 原文地址:https://www.cnblogs.com/lab-zj/p/12166660.html
Copyright © 2020-2023  润新知