我需要在两台计算机之间转移我的Selenium会话。
要通过Selenium导出和导入cookie,您必须先单独访问每个网站,然后才能设置其Cookie,我想避免这种情况。我还想复制本地存储。
这是我迄今为止所做的尝试:
1 - 启动新的Selenium会议:
driver = webdriver.Chrome()
2 - 在%temp%中找到其临时Chrome用户个人资料,并将其复制到我的应用程序文件夹
3 - 使用此用户配置文件启动新驱动程序:
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("user-data-dir=C:\\profiles\\temp_profile")
driver = webdriver.Chrome(chrome_options=chrome_options)
上述工作 - 本地存储和cookie仍在我的本地PC上,但是,当我将此用户配置文件复制到另一台PC并启动它时,本地存储仍然存在,但cookie已经消失。
我也尝试使用常规的Chrome配置文件,以及尝试直接在Chrome中启动用户配置文件而不是Selenium,但Cookie仍然没有用。
答案 0 :(得分:3)
由于Cookie存储在Chrome的SQLite文件中,并且已经加密,因此您并不真正了解(或想要深入了解...)为什么它不起作用。它可能与信息安全有关。
所以我的建议是使用WebDriver的功能保存它们并将它们加载到内存中。 See here。
答案 1 :(得分:0)
自从它出现在我的Google搜索中以来,我正在对此做出回应。
也许它与Chrome加密cookie的方式有关,所以您需要在两台计算机上使用相同的证书才能使复制粘贴起作用。
看看:https://github.com/bertrandom/chrome-cookies-secure
使用此方法,您仍然需要知道域名,但实际上并不需要访问该网站。