情况:用例过多登录操作占用时间过长想通过添加cookie来省去登录操作,但是get网址时会自动跳转到登录页面(login.jsp)且添加cookie后refresh又会变成未登录状态
解决:get需要的网页添加cookie后不进行refresh,直接打开一个新窗口并get需要的页面后跳转到这个窗口,之后就可以继续操作
driver.get("url")
cookie_file_path = "mycookie.json"
with open(cookie_file_path, "r") as f:
cookies_str = f.readline()
cookies_dict = json.loads(cookies_str)
driver.delete_all_cookies() # 删除当前网址的所有cookie
for cookie in cookies_dict: # 循环读取cookie
for k in cookie.keys(): # 判断一下
if k == "expiry":
cookie[k] = int(cookie[k]) # expiry参数必须为整型
driver.add_cookie(cookie)
time.sleep(2)
#打开一个新窗口
js = 'window.open("url")'
driver.execute_script(js)
time.sleep(3)
# 获取所有窗口的编号
data = driver.window_handles
#切换窗口
driver.switch_to.window(data[1])
time.sleep(3)