zoukankan      html  css  js  c++  java
  • selenium操作cookie

    1,登录网页,使用webdriver的get_cookies获取cookie,并保存json文件

    2,读取json文件,遍历添加网站使用的每一个cookies的name,value. 使用add_cookie添加cookie

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2019/11/6 17:58
    # @Author  : mrwuzs
    # @Site    : 
    # @File    : cookiesAction.py
    # @Software: PyCharm
    import json
    from public.common import pyselenium
    from config import globalparam
    from public.appModel.loginAction import Login
    #cookie的存储路径
    cookie_path = globalparam.cookie_path + "\cookies.json"
    
    def get_cookie(username,password):
        dr = pyselenium.PySelenium(globalparam.browser)
        dr.max_window()
        Login(dr).login(username, password)
        cookies = dr.origin_driver.get_cookies()
        jsonCookies = json.dumps(cookies)
        with open(cookie_path, 'w') as f:
            f.write(jsonCookies)
    
    def add_cookie(dr):
        dr.origin_driver.delete_all_cookies()
        with open(cookie_path, 'r', encoding='utf-8') as f:
            listCookies = json.loads(f.read())
        for cookie in listCookies:
            print(cookie)
            dr.origin_driver.add_cookie({
                'domain': cookie['domain'],
                'name': cookie['name'],
                'value': cookie['value'],
                'path': '/',
                'httpOnly': False,
                'secure': False
            })
        return dr
    
    if __name__ == '__main__':
        get_cookie("username","password")
    
    

    问题记录:

    1,需要下打开一个url,才能添加cookie,否者会出现以下错误

    selenium.common.exceptions.InvalidCookieDomainException: Message: Document is cookie-averse
    
  • 相关阅读:
    Autoit对win系统弹窗的操作
    Linux服务器测试网络连通性
    如何给linux配置两个不同网段的ip
    记下看过并觉得非常有用的文章
    使用python+selenium对12306车票数据读取
    windows系统mysql安装
    Python使用正则匹配re实现eval计算器
    css3[补1]
    Javascript[2]
    Javascript[1]
  • 原文地址:https://www.cnblogs.com/mrwuzs/p/11807229.html
Copyright © 2011-2022 走看看