日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Selenium操作cookie绕过验证码登陆实战

發布時間:2024/1/8 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Selenium操作cookie绕过验证码登陆实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

驗證碼類型:數字、字母、拖動

一.先從http協議底層

http協議是超文本傳輸協議,主要是用于瀏覽器和服務器之間交互數據。交互分為請求和響應部分

特點:簡單快速、無連接、無狀態

無連接和無狀態:指的是多個請求之間是沒有連接的,是沒有關聯的,是獨立的。

http協議端口:80

https=http+ssl(安全傳輸協議)端口:443

請求:請求行、請求頭、空一行、請求正文

有些接口必須有特點的請求頭才可以請求成功

響應:響應行、響應頭、空一行、響應正文

二、Cookie的作用就是為了解決http協議無連接、無狀態而導致的業務關聯很難以處理

1.什么是Cookie

本質:就是一段文本,客戶端在”第一次“訪問服務器時,創建身份標識,格式key=value放在set-Cookie字段里,發個客戶端

當第二次去請求服務器時,那么就會帶上cookie而且放在Cookie上

2.總結

????????a.cookie是在服務器產生的,保存在客戶端

????????b.以key=vaule保存在一個文件內

????????c.cookie的名稱和失效時間是有開發定義的

3.cookie的分類

????????會話cookie:保存在內存,瀏覽器關閉就清除—-比如session

????????持久cookie:保存在硬盤,失效時間到之后就會清除

4.如何查看:

????????fiddle

????????F12—-application -cookie

????????瀏覽器地址欄的感嘆號

5.cookie不是緩存

三、cookie在測試當中的使用場景

1.接口關聯的時候可以通過cookie傳輸token

2.記住用戶登陸狀態

3.在自動化測試里面作為萬能碼跳過所有的驗證碼,甚至不需要用戶名和密碼

步驟:第一步先獲取cookie

? ? ? ? ? ?第二步通過add_cookie()方法添加cookie

import time import unittestfrom selenium import webdriver import warningsclass Test(unittest.TestCase):def setUp(self) -> None:#忽略掉相關告警warnings.simplefilter('ignore', ResourceWarning)passdef test01_login(self):#driver設置為全局變量,運行完之后谷歌瀏覽器不會自動關閉global driver#打開谷歌瀏覽器driver = webdriver.Chrome()driver.get("http://192.168.0.141:8080/iwebshop/index.php?controller=systemadmin&action=index")time.sleep(3)獲取所有的cookie信息并保存到cks上,返回的是list,這是登陸前的cookiecks = driver.get_cookies()for ck in cks:print(ck)time.sleep(3);#手動登陸一次#獲取所有的cookie信息并保存到cks上,返回的是list,這是登陸后的cookiecks = driver.get_cookies()for ck in cks:print(ck)#登錄前的cookie信息# {'domain': '192.168.0.141', 'expiry': 1642653336, 'httpOnly': False, 'name': 'iweb_Captcha', 'path': '/',# 'secure': False, 'value': 'fd8b964624ODEyMDA4MDIwMDNjZDhlZmc4NzBlNGFrPWdmYzAzYWRobG9vZA'}# {'domain': '192.168.0.141', 'expiry': 1642653336, 'httpOnly': False, 'name': 'iweb_safecode', 'path': '/',# 'secure': False,# 'value': 'fd8b964624ODEyMDA4MDIwMDZiNGU1YTBlMTFjN2IwMzxlNjBiZDA0MDswNTUzM2QwajVgN2VrNWcyPDM4MTBsZT9jMTU3Mg'}#登陸后的cookie信息# {'domain': '192.168.0.141', 'expiry': 1642653352, 'httpOnly': False, 'name': 'iweb_admin_name', 'path': '/',# 'secure': False, 'value': '76bb1f91a1MTA5NTQwMDgwNWY1P2Y2MjZkM2EwPGwxOD01M2E4ZDdnZG1obg'}# {'domain': '192.168.0.141', 'expiry': 1642653352, 'httpOnly': False, 'name': 'iweb_admin_role_name', 'path': '/',# 'secure': False, 'value': '76bb1f91a1MTA5NTQwMDgwNTI3ZWY1NDg1MjU1bDE1bz5jZGA9OT%2FutoXmuqbgrqTnk4bll54'}# {'domain': '192.168.0.141', 'expiry': 1642653353, 'httpOnly': False, 'name': 'iweb_admin_right', 'path': '/',# 'secure': False, 'value': '825c711358NDUwMTA1MDAwMDQzZzo2YmhmNDc7YTMwMjljNTY1NjlgZGtsa2l3c3VmdG91'}# {'domain': '192.168.0.141', 'expiry': 1642653352, 'httpOnly': False, 'name': 'iweb_admin_pwd', 'path': '/',# 'secure': False,# 'value': '76bb1f91a1MTA5NTQwMDgwNWQwYjlmNGY3YTExPmxhMThgYmE%2FOTNjMTBgZGI0OTE5YWE1P2dgYmw1PmUwNTRmMzRuMT47ZQ'}# {'domain': '192.168.0.141', 'expiry': 1642653353, 'httpOnly': False, 'name': 'iweb_safecode', 'path': '/',# 'secure': False,# 'value': '825c711358NDUwMTA1MDAwMDFiMW0xZT1lMjFrM2AwNzhjNjJhZTI1MzQ1MDAzMmM2YjJhPGVqNWQyPzA0MTBlYzhhOD02Ng'}# {'domain': '192.168.0.141', 'expiry': 1642653352, 'httpOnly': False, 'name': 'iweb_admin_id', 'path': '/',# 'secure': False, 'value': '76bb1f91a1MTA5NTQwMDgwNWNjZTU2YDAxNTI4bjBgOGowNTI7YTA3'}# {'domain': '192.168.0.141', 'expiry': 1642653351, 'httpOnly': False, 'name': 'iweb_Captcha', 'path': '/',# 'secure': False, 'value': 'f4c38b0ec2MDkwOTAwOTMwMDRjbDhhYWc4PDdgM2BiOWVmYjAzYWZrb2dnZA'}def tearDown(self) -> None:passif __name__=='__main__':unittest.main(); import time import unittestfrom selenium import webdriver import warningsclass Test(unittest.TestCase):def setUp(self) -> None:# 忽略警告信息warnings.simplefilter('ignore', ResourceWarning)passdef test01_login(self):#driver設置為全局變量,運行完之后谷歌瀏覽器不會自動關閉global driver#打開谷歌瀏覽器driver = webdriver.Chrome()driver.get("http://192.168.0.141:8080/iwebshop/index.php?controller=systemadmin&action=index")time.sleep(3)# 添加cookie信息driver.add_cookie({"name": "iweb_admin_name", "value": "76bb1f91a1MTA5NTQwMDgwNWY1P2Y2MjZkM2EwPGwxOD01M2E4ZDdnZG1obg"})driver.add_cookie({"name": "iweb_admin_role_name","value": "76bb1f91a1MTA5NTQwMDgwNTI3ZWY1NDg1MjU1bDE1bz5jZGA9OT%2FutoXmuqbgrqTnk4bll54"})driver.add_cookie({"name": "iweb_admin_right","value": "825c711358NDUwMTA1MDAwMDQzZzo2YmhmNDc7YTMwMjljNTY1NjlgZGtsa2l3c3VmdG91"})driver.add_cookie({"name": "iweb_admin_pwd","value": "76bb1f91a1MTA5NTQwMDgwNWQwYjlmNGY3YTExPmxhMThgYmE%2FOTNjMTBgZGI0OTE5YWE1P2dgYmw1PmUwNTRmMzRuMT47ZQ"})driver.add_cookie({"name": "iweb_safecode","value": "825c711358NDUwMTA1MDAwMDFiMW0xZT1lMjFrM2AwNzhjNjJhZTI1MzQ1MDAzMmM2YjJhPGVqNWQyPzA0MTBlYzhhOD02Ng"})driver.add_cookie({"name": "iweb_admin_id", "value": "76bb1f91a1MTA5NTQwMDgwNWNjZTU2YDAxNTI4bjBgOGowNTI7YTA3"})driver.add_cookie({"name": "iweb_Captcha", "value": "f4c38b0ec2MDkwOTAwOTMwMDRjbDhhYWc4PDdgM2BiOWVmYjAzYWZrb2dnZA"})# 直接加載登陸之后的頁面driver.get("http://192.168.0.141:8080/iwebshop/index.php?controller=system&action=default")# 獲取所有的cookie信息并保存到cks上,返回的是list,這是登陸前的cookie# cks = driver.get_cookies()# for ck in cks:# print(ck)# # time.sleep(3);# #手動登陸一次# #獲取所有的cookie信息并保存到cks上,返回的是list,這是登陸后的cookie# cks = driver.get_cookies()# for ck in cks:# print(ck)#登錄前的cookie信息# {'domain': '192.168.0.141', 'expiry': 1642653336, 'httpOnly': False, 'name': 'iweb_Captcha', 'path': '/',# 'secure': False, 'value': 'fd8b964624ODEyMDA4MDIwMDNjZDhlZmc4NzBlNGFrPWdmYzAzYWRobG9vZA'}# {'domain': '192.168.0.141', 'expiry': 1642653336, 'httpOnly': False, 'name': 'iweb_safecode', 'path': '/',# 'secure': False,# 'value': 'fd8b964624ODEyMDA4MDIwMDZiNGU1YTBlMTFjN2IwMzxlNjBiZDA0MDswNTUzM2QwajVgN2VrNWcyPDM4MTBsZT9jMTU3Mg'}#登陸后的cookie信息# {'domain': '192.168.0.141', 'expiry': 1642653352, 'httpOnly': False, 'name': 'iweb_admin_name', 'path': '/',# 'secure': False, 'value': '76bb1f91a1MTA5NTQwMDgwNWY1P2Y2MjZkM2EwPGwxOD01M2E4ZDdnZG1obg'}# {'domain': '192.168.0.141', 'expiry': 1642653352, 'httpOnly': False, 'name': 'iweb_admin_role_name', 'path': '/',# 'secure': False, 'value': '76bb1f91a1MTA5NTQwMDgwNTI3ZWY1NDg1MjU1bDE1bz5jZGA9OT%2FutoXmuqbgrqTnk4bll54'}# {'domain': '192.168.0.141', 'expiry': 1642653353, 'httpOnly': False, 'name': 'iweb_admin_right', 'path': '/',# 'secure': False, 'value': '825c711358NDUwMTA1MDAwMDQzZzo2YmhmNDc7YTMwMjljNTY1NjlgZGtsa2l3c3VmdG91'}# {'domain': '192.168.0.141', 'expiry': 1642653352, 'httpOnly': False, 'name': 'iweb_admin_pwd', 'path': '/',# 'secure': False,# 'value': '76bb1f91a1MTA5NTQwMDgwNWQwYjlmNGY3YTExPmxhMThgYmE%2FOTNjMTBgZGI0OTE5YWE1P2dgYmw1PmUwNTRmMzRuMT47ZQ'}# {'domain': '192.168.0.141', 'expiry': 1642653353, 'httpOnly': False, 'name': 'iweb_safecode', 'path': '/',# 'secure': False,# 'value': '825c711358NDUwMTA1MDAwMDFiMW0xZT1lMjFrM2AwNzhjNjJhZTI1MzQ1MDAzMmM2YjJhPGVqNWQyPzA0MTBlYzhhOD02Ng'}# {'domain': '192.168.0.141', 'expiry': 1642653352, 'httpOnly': False, 'name': 'iweb_admin_id', 'path': '/',# 'secure': False, 'value': '76bb1f91a1MTA5NTQwMDgwNWNjZTU2YDAxNTI4bjBgOGowNTI7YTA3'}# {'domain': '192.168.0.141', 'expiry': 1642653351, 'httpOnly': False, 'name': 'iweb_Captcha', 'path': '/',# 'secure': False, 'value': 'f4c38b0ec2MDkwOTAwOTMwMDRjbDhhYWc4PDdgM2BiOWVmYjAzYWZrb2dnZA'}def tearDown(self) -> None:passif __name__=='__main__':unittest.main();

總結

以上是生活随笔為你收集整理的Selenium操作cookie绕过验证码登陆实战的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。