selenium+python 绕过登录进行测试cookie登录
多个Py文件进行多线程测试时,每次登录是很麻烦的事情,所以通过cookie登录,可以绕过登录操作
# 存储登录的cookie(密码登录一次后可获取) def save_logincookie(self): # cookie = getDriver.get_driver().get_cookie() self.driver.implicitly_wait(5) time.sleep(3) cookie = self.driver.get_cookies() json_cookies = json.dumps(cookie) with open('vcyber.json', 'w') as f: f.write(json_cookies) # print("存储的cookie:") # print(cookie)
# 获取登录时存储的cookie(用该cookie可免密码登录) def login_cookie(self): # 登录前清除所有的cookie # self.driver.delete_all_cookies() # self.driver.get(pa.url) # self.driver.maximize_window() f1 = open('vcyber.json') cookie = f1.read() # print("获取的cookie:") # print(cookie) cookie = json.loads(cookie) for c in cookie: self.driver.add_cookie(c) f1.close() # 关闭json文件 # 刷新页面 self.driver.refresh() # self.driver.get(base_URL)
但是至少需要正常登录一次才能获取到cookie
运行后cookies保存的文件:
然后使用cookies进行登录