1.使用场景
使用selenium 登录时会遇到各种验证,使用cookie 登录可以绕过验证 直接登录
cookie 有时效的 获取后 短时间都不用再获取验证
2019.4.10号已经能过获取到cookie 但是还没有研究好用selenium 使用cookie登录 继续更新中
我已经将Chrome 驱动加入环境变量 ,所以即使不用输入驱动路径也是没有问题的
cookie字段意思
#可以看到,每个字典有多个键,它们的含义是:
name: cookie的名称
value: cookie对应的值,动态生成的
domain: 服务器域名
expiry: cookie有效终止日期
path: Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的cookie
httpOnly: 防脚本攻击
secure: 在cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时(当前即https),浏览器才向服务器提交相应的cookie
-
2019年4月11日纪录
1.以下代码,已经可以实现直接使用cookie 获取后 直接登录(数据没有保存本地,继续优化中)
以下是代码
from seleniumimport webdriver
import json
import time
#正常登陆一次获取cookie
def login_cookie():
browser= webdriver.Chrome()
browser.set_page_load_timeout(20)
browser.set_script_timeout(20)
try:
browser.get("https://www.126.com/")
except:
browser.execute_script("window.stop()")
time.sleep(5)
input("请登陆后按Enter")
print(browser.get_cookies())
time.sleep(5)
browser.quit()
return cookies
#获得cookies
cookies= login_cookie()
browser= webdriver.Chrome()
browser.delete_all_cookies() #清除所有cookie
#直接访问访问后的地址添加cookie
browser.set_page_load_timeout(20)
browser.set_script_timeout(20)
try:
browser.get("https://www.126.com/")
except:
browser.execute_script("window.stop()")
time.sleep(5)
#添加cookie到未登的录页面
for coin cookies:
browser.add_cookie(co)
browser.refresh() #再次刷新页面则得到登陆后的界面
browser.close()
https://www.jianshu.com/p/9bda6f4780d2