使用Selenium添加访问cookie, 实现淘宝自动登录
1.问题描述:
淘宝在不登录的情况下, 许多信息没有显示, 而在登录滑块验证时, selenium模拟会被检测出来, 所以我们利用手机扫码登录, 保存cookies并实现之后登录访问.
2.代码实现:
(1)登录保存cookies
import json
from selenium import webdriver
dirver = webdriver.Chrome()
dirver.get(
'https://login.taobao.com/member/login.jhtml?redirectURL=http%3A%2F%2Fbuyertrade.taobao.com%2Ftrade%2Fitemlist%2Flist_bought_items.htm%3Fspm%3D875.7931836%252FB.a2226mz.4.66144265Vdg7d5%26t%3D20110530')
# 直接用手机扫码登陆淘宝即可
dictCookies = dirver.get_cookies()
jsonCookies = json.dumps(dictCookies)
# 登录完成后,将cookies保存到本地文件
with open("cookies_tao.json", "w") as fp:
fp.write(jsonCookies)
(2)读取cookies,实现免密码登录
import json
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
browser.delete_all_cookies()
with open('cookies_tao.json', 'r', encoding='utf-8') as f:
listCookies = json.loads(f.read())
for cookie in listCookies:
browser.add_cookie({
'domain': '.taobao.com', # 此处xxx.com前,需要带点
'name': cookie['name'],
'value': cookie['value'],
'path': '/',
'expires': None
})
browser.get("https://www.taobao.com/")