【UI測試】selenium加載cookies報錯[selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain]解決方案


一、原因

 

翻譯一下,就是selenium默認域名是data:,cookies中自帶域名,發現當前域名不包含在cookies中時,則cookies設置失敗

個人理解:在加載cookies之前需要先訪問頁面,打開頁面跳轉登錄頁面,登錄之后才能到其他頁面,cookies就是模擬的登錄,所以在加載cookies之前需要先訪問一下頁面

二、以企業微信為例

def test_weixin(self):
# 先打開企業微信的頁面,才能傳cookies進去
self.driver.get("https://work.weixin.qq.com/")

with open("cookies.txt", "r") as f:
# 從文件獲取cookies,並轉化成list對象
cookies: List[Dict] = json.load(f)
# 遍歷每一條cookies,把登錄的cookies傳入到企業微信中
for cookie in cookies:
# 由於selenium的cookies不支持expiry,所以需要去掉
if "expiry" in cookie.keys():
# dict支持pop的刪除函數
cookie.pop("expiry")
# 添加cookies
self.driver.add_cookie(cookie)
# 再打開企業微信登錄后的頁面
self.driver.get("https://work.weixin.qq.com/wework_admin/frame")
sleep(5)

要打開登錄后的頁面,首先需要打開企業微信的頁面,這時傳送的domain才是全的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM