if __name__ == "__main__": pytest.main(["-s", __file__])
使用 cookies 登录
1 2 3 4 5 6 7 8 9
deftest_login_with_cookies(self): withopen('cookies.json', 'r') as f: cookies = json.load(f) for cookie in cookies: self.driver.add_cookie(cookie) self.driver.get("https://targer_url") current_cookies = self.driver.get_cookies() withopen('cookies.json', 'w') as f: json.dump(current_cookies, f)
这里遇到的一个问题是,一开始直接先加载了 cookies,然后就报错了 selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain, 搜索了一下发现是,默认 selenium 驱动 chrome 打开的域名为 data 的白页面,所以使用 cookies 之前需要先访问一下目标地址,可以看到在setup_method 里一定修改每次都优先打开目标地址,然后再加载 cookies。