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'")