python+selenium 通过添加cookies或token解决网页上验证码登录问题
获取cookie
get_cookies(): 获取当前会话中当前域名所有cookies
get_cookie(name): 获取当前会话中当前域名指定name对应的cookie值
delete_cookie(name): 删除指定cookie
delete_all_cookies(): 删除所有cookie
add_cookie(self, cookie_dict): 添加cookie
自定义添加cookie
构造cookie字典

cookie = {'name' : 'BIDUPSID', 'value' : '3R-T21PamZseEJmLVlmQ1ZNS2ZRQ3VPeUJEVUtXUE**'}
然后调用:driver.add_cookie(cookie_dict=cookie)
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.maximize_window()
time.sleep(1)
cookie = {"name":"BDUSS", "value":"3R-T21PamZseEJmLVlmQ1ZNS2ZRQ3VPeUJEVUtXUEoxUkx2ODVTZ1REZmczOVZmSVFBQUFBJCQAAAAAAAAAAAEAAAA1p7iuyeTI1WluZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBSrl~gUq5fb"}
driver.get("https://www.baidu.com/") 添加这一行即可
driver.add_cookie(cookie_dict=cookie)
driver.get("https://www.baidu.com/")
time.sleep(10)
driver.quit(
cookie = {"name":"Authorization", "value":"Bearer%20eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHBfdGltZSI6MTc1ODYwNzA0NC40MTM2ODc1LCJjb21wYW55X2lkIjoxMDAwMSwiY29tcGFueV9uYW1lIjoiXHU2ZGYxXHU1NzMzXHU1ZTAyXHU0ZWQ1XHU5NTI2XHU2ZTkwXHU3OWQxXHU2MjgwXHU2NzA5XHU5NjUwXHU1MTZjXHU1M2Y4IiwidXNlcl9pZCI6MzUsInVzZXJuYW1lIjoiXHU3ZmMxXHU2MzJmXHU5NmM0IiwiYWNjb3VudCI6Indlbmd6aGVueGlvbmciLCJwcm9kdWN0X2F1dGgiOnRydWUsInRva2VuIjoiOWFhNjYzM2MtMjM2ZS00ZjE1LWJlY2YtYzI3YzYzN2YwMmQ2IiwiaXNfc3VwZXIiOmZhbHNlLCJwZXJtaXNzaW9uX25hbWUiOnsicm9sZV9uYW1lIjpbeyIyMSI6Ilx1NjI4MFx1NjcyZlx1NWYwMFx1NTNkMSJ9XSwiZGVwYXJ0bWVudF9uYW1lIjpbIlx1NjI4MFx1NjcyZlx1OTBlOCJdfX0.OMOeyC2nDFzokdKP-hziy3PzkiGwpp5KtUDb30pRC0U"}
driver.get("https://www.test.aiautoex.com")
driver.add_cookie(cookie_dict=cookie)
# driver.get("https://www.test.aiautoex.com/logistics-manage-index")
driver.get("https://www.test.aiautoex.com/operate-push-index")
上面的方式就可以实现绕过登录,不过这要注意以下两点:
生成 cookie 的账号不能有退出操作,否则 cookie 会失效。
注意 cookie 的有效期(Expires/Max-Age列),可能需要定时更新 cookie
有的网页不用cookies,有自己的token,没关系,继续试试token
#获取token
token=browser.execute_script('window.localStorage.getItem("token")')
print(token)
#添加token
js='window.localStorage.setItem("token","token值")'
browser.execute_script(js)
browser.refresh()#刷新

浙公网安备 33010602011771号