Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium-在计算机之间共享浏览器会话(cookie、本地存储)_Python_Google Chrome_Selenium_Cookies_Selenium Chromedriver - Fatal编程技术网

Python Selenium-在计算机之间共享浏览器会话(cookie、本地存储)

Python Selenium-在计算机之间共享浏览器会话(cookie、本地存储),python,google-chrome,selenium,cookies,selenium-chromedriver,Python,Google Chrome,Selenium,Cookies,Selenium Chromedriver,我需要在两台计算机之间传输Selenium会话 要通过Selenium导出和导入Cookie,您必须先单独访问每个网站,然后才能设置其Cookie,我希望避免这种情况。我还想通过本地存储进行复制 以下是我迄今为止所尝试的: 1-启动全新的Selenium课程: driver = webdriver.Chrome() 2-在%temp%中找到其临时Chrome用户配置文件,并将其复制到我的应用程序文件夹中 3-使用此用户配置文件启动新驱动程序: chrome_options = webdrive

我需要在两台计算机之间传输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)
上面的工作原理-本地存储和cookies仍然存在于我的本地PC上,但是,当我将此用户配置文件复制到另一台PC并启动它时,本地存储仍然存在,但cookies不见了


我也尝试过使用常规的chrome配置文件,以及尝试直接在chrome而不是Selenium中启动用户配置文件,但Cookie仍然不存在。

由于Cookie存储在chrome的SQLite文件中,并且它们是加密的,所以你不知道(或者想深入了解…)为什么它不起作用。这可能与信息安全有关


所以我的建议是使用WebDriver的功能保存它们并将它们加载到内存中

这是我在谷歌搜索中发现的,我对此做出了回应

也许这与Chrome加密Cookie的方式有关,因此您需要在两台机器上使用相同的证书才能使用复制粘贴

看看:


使用此功能,您仍然需要了解该域,但不需要实际访问该网站。

此功能有效,但您必须先打开该网站,然后才能加载该域的Cookie-我希望提前这样做。然后我建议您在两台电脑中打开SQLite Cookie文件,以查看差异,您可能需要替换某些列中的某些数据以适应第二台电脑。顺便说一句,您的会话是否在本地主机上?Cookies文件中只有Cookies,但值是加密的。没有看到任何特定于PC的内容。Selenium位于localhost上,但网站不是。我可以暂时将网站绑定到localhost,然后像那样访问它们是的,我是说你的主机在本地主机上。。。我必须为Chrome创建一次自定义历史记录,关键是要正确设置时间戳。。。也许这就是问题所在。无论如何,我会想办法的,这是个有趣的案子。