脚本将浏览器cookie写入本地文件

110 阅读1分钟
import json
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
def login_fr(url, username, password):
    driver = webdriver.Chrome()
    driver.get('https://baidu.com')
    time.sleep(1)
    # 如果没有点击登录的跳转页,下面两行代码可以去掉
    login1_btn = driver.find_element(By.CLASS_NAME, "login_loginBtn_esRBZ")
    login1_btn.click()
    time.sleep(1)
    # 选中账号密码输入框和点击登录按钮
    user_input = driver.find_element(By.ID, "basic_mobile").send_keys(username)
    pw_input = driver.find_element(By.ID, "basic_password").send_keys(password)
    login_btn = driver.find_element(By.CLASS_NAME, "loginButton")
    time.sleep(1)
    login_btn.click()
    time.sleep(1)
    return driver
# 自己带入账号密码并请求接口
if __name__ == '__main__':
    aim_url = {
    'url': '请求的接口地址',
    'username': '土豆丝',
    'password': 'qwe123'
    }
    driver = login_fr(aim_url['url'], aim_url['username'], aim_url['password'])
    time.sleep(1)
    # 后面这一步是修改本地main.js文件中的cookie,请根据自己的需求去修改
    def alter(file,session,xsrf):
      file_data = ""
      with open(file, "r", encoding="utf-8") as f:
        for line in f:
            if session in line:
                line = "  Cookie.set('SESSION', '" + driver.get_cookies()[1]["value"] + "')" + "\n"
            if xsrf in line:
                line = "  Cookie.set('XSRF-TOKEN', '" + driver.get_cookies()[0]["value"] + "')" + "\n"  
            file_data += line
      with open(file,"w",encoding="utf-8") as f:
        f.write(file_data)
    # 匹配到本地的Cookie.set('SESSION'行,并写入新获取的cookie值 
    # 匹配到本地的Cookie.set('XSRF-TOKEN'行,并写入新获取的cookie值
    alter("D:/project/rm-attendance-web/src/main.js", "Cookie.set('SESSION'", "Cookie.set('XSRF-TOKEN'")