Selenium使用Cookie实现自动登录
原理:首先手动完成登录,把cookie保存到本地,再吧cookies注入到浏览器里面,就实现了自动登录,然后再通过click()实现签到
1. Cookie保存到本地
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import json
options = webdriver.ChromeOptions()
options.add_experimental_option('detach',True)
wd = webdriver.Chrome(service=Service(r'C:\\tools\\chromedriver.exe'),options=options)
wd.get('https://hifini.com/')
input('手动登录后,随便输入后继续')
dictCookies = wd.get_cookies()
jsonCookies = json.dumps(dictCookies)
with open('cookies.txt','w') as f:
f.write(jsonCookies)
print('保存成功')
2. 注入cookie
def hifi():
wd.get('https://hifini.com/')
with open('D:\code\Selenium\cookies.txt','r',encoding='utf-8') as f:
listCookies = json.loads(f.read())
wd.add_cookie(listCookies[1])
wd.get('https://hifini.com/')
sleep(3)
elem = wd.find_element(By.ID,'sign').click()
wd.implicitly_wait(10)
print('hifini.com签到完成')