Python 如何使用pickle和selenium在特定域上设置cookie
我正忙着为某个网站创建一个自动化工具,但似乎找不到在两次不同运行之间存储cookie的选项。主要的问题是,该网站由和组成,每个其他url只是被重定向到其中一个,这取决于您是否登录。由于没有“重叠url”/“虚拟url”,我可以在第一次手动登录时保存cookies,然后每隔一次加载cookies,因此我不知道如何修复此问题。这是我保存和加载cookies的代码Python 如何使用pickle和selenium在特定域上设置cookie,python,selenium,cookies,automation,pickle,Python,Selenium,Cookies,Automation,Pickle,我正忙着为某个网站创建一个自动化工具,但似乎找不到在两次不同运行之间存储cookie的选项。主要的问题是,该网站由和组成,每个其他url只是被重定向到其中一个,这取决于您是否登录。由于没有“重叠url”/“虚拟url”,我可以在第一次手动登录时保存cookies,然后每隔一次加载cookies,因此我不知道如何修复此问题。这是我保存和加载cookies的代码 def save_cookies(self): self.browser.get("http://www
def save_cookies(self):
self.browser.get("http://www.website.com") # will be redirected to www.website.com/afterlogin at where it will save the cookies
pickle.dump(self.browser.get_cookies(), open("cookies.pkl", "wb"))
def load_cookies(self):
self.browser.get("http://www.website.com") # will be redirected to www.website.com/beforelogin at where it will load the cookies
if not os.path.isfile("cookies.pkl"):
return False
cookies = pickle.load(open("cookies.pkl", "rb"))
print("loading cookies")
for cookie in cookies:
print("Adding cookies")
self.browser.add_cookie(cookie)
self.refresh()
如上所述,中讨论的查找公共虚拟url的解决方案并不是真正的解决方案
像这样的解决方案也不是一个选项,因为保存和加载cookie的登录前后没有相同的url