python+selenium 通過新增cookies或token解決網頁上驗證碼登入問題
cookie或token可以儲存登入資訊,當我們拿到cookie後,可以通過向瀏覽器傳送cookie中記錄的資料,直接變成登入狀態,不需要再登入。
下面舉個栗子
1、先把正常的登入方式碼一下:
browser = webdriver.Chrome(executable_path='chromedriver.exe')
browser.get("https://******")
#登入
browser.find_element_by_id("username").send_keys("***")
browser.find_element_by_id("password").send_keys("***")
browser.find_element_by_id("logInBtn").click()
這是沒有驗證碼的登入,如果有驗證碼,需要加一句獲取和輸入驗證碼,我本意是要告訴你如何獲取cookie,這裡有沒有驗證碼無所謂。
2、下面是獲取cookie
-
#獲取cookie
-
cookies=browser.get_cookies()
-
print(cookies)
列印出來的就是cookie的內容,你也可以直接從瀏覽器裡面登入後獲取cookie。
3、拿到cookie後接下來就可以向瀏覽器傳送cookie了
#新增cookie
#browser.add_cookie({'name': '...', 'value': '...'})
c1={'domain': '.qunadai.com', 'expiry': 1548387538, 'httpOnly': False, 'name': 'UM_distinctid', 'path': '/', 'secure': False, 'value': '164d9d16fa6299-0b0c0d8568386d-2d604637-3d10d-164d9d16fa7a72'}
c2={'domain': 'wap-sit.qunadai.com', 'expiry': 1548387549, 'httpOnly': False, 'name': 'CNZZDATA1271582478', 'path': '/', 'secure': False, 'value': '941553296-1532663028-%7C1532663028'}
browser.add_cookie(c1)
browser.add_cookie(c2)
新增cookie使用方法browser.add_cookie(),注意cookie格式是key-value的格式。
4、token登入
有的網頁不用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()#重新整理
相關文章
- jmeter通過cookies來登入JMeterCookie
- 解決 PBootCMS 後臺登入不顯示驗證碼的問題boot
- Python暴力破解網站登入密碼(帶token驗證)Python網站密碼
- GitHub不再支援密碼驗證解決方案:SSH免密與Token登入配置Github密碼
- Laravel 6.x 為註冊或登入元件新增驗證碼Laravel元件
- Laravel-admin 登入新增驗證碼Laravel
- json web token 實踐登入以及校驗碼驗證JSONWeb
- 網頁上的驗證碼是為了解決什麼問題?說說你瞭解的驗證碼種類有哪些網頁
- Spring Security 如何新增登入驗證碼?鬆哥手把手教你給微人事新增登入驗證碼Spring
- vue登入註冊,帶token驗證Vue
- 通過selenium突破極驗驗證實現登入
- Springboot之登入模組探索(含Token,驗證碼,網路安全等知識)Spring Boot
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- PbootCMS後臺關閉驗證碼,登入提示驗證碼不能空的解決方法boot
- 接入微信公眾號登入-驗證token
- Token驗證失敗的解決方法
- 實現基於JWT的Token登入驗證功能JWT
- 給Django Admin新增驗證碼和多次登入嘗試限制Django
- SSH登入很慢問題的解決
- vue通過vue-router攔截實現登入驗證Vue
- uniapp 完成兩種方式登入 驗證碼登入 密碼登入APP密碼
- Yii2 使用者使用登入元件token驗證元件
- pbootcms後臺登入驗證碼看不清的解決辦法boot
- 說說如何在登入頁實現生成驗證碼功能
- Laravel 學習之 XSRF-TOKEN 驗證問題Laravel
- 通過詢問-響應身份認證提高桌面登入安全
- teams 更改密碼後無法登入,提示使用 Microsoft Authenticator 驗證問題密碼ROS
- 解決requests庫中SSL驗證問題
- thinkphp6後臺新增google登入驗證PHPGo
- 分散式應用的登入檢驗解決方案 JWT講解( json web token)分散式JWTJSONWeb
- 微信登入-6問題解決方案
- vue4 + laravel8使用JWT登入及token驗證VueLaravelJWT
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- origin登入密碼不正確或已經過期怎麼辦 origin登入密碼錯誤怎麼解決密碼
- 通過Observable解決搜尋框問題
- 12306搶票系統無介面版本——(1)登入(12306驗證碼問題破解)
- laravel線上環境表單驗證重定向問題解決方案Laravel
- Selenium+python 通過 Cookie 和 Token 登入詳解 [無基礎新手必看系列]PythonCookie