一尘不染

保存chrome cookie selenium

selenium

我正在寻找一种方法来保存chrome会话cookie,即使在程序关闭后也可以保留。我假设写入文件将是执行此操作的好方法,但是我对如何完成此操作感到困惑。我的最终目标是保存登录cookie,以便用户不必每次都执行登录。这是一些代码:

Dim driver = New Chrome.ChromeDriver()
driver.Navigate.GoToUrl("URL")
'click stuff and login here
Dim _cookies = driver.Manage().Cookies.AllCookies
'write cookies to file or save somehow

阅读 374

收藏
2020-06-26

共1个答案

一尘不染

您需要在所需的用户个人资料下运行Chrome。默认情况下,Selenium
Web驱动程序将创建一个临时配置文件。如果您为其提供用户个人资料,则该个人资料将保留,并且如果未将Chrome设置为删除Cookie,则会创建通常会为用户创建Cookie的所有登录信息。

有关详细信息,请参见Selenium
chromedriver网站

Use custom profile (also called user data directory)
By default, ChromeDriver will create a new temporary profile for each session. At times you may want to set special preferences or just use a custom profile altogether. If the former, you can use the 'chrome.prefs' capability (described later below) to specify preferences that will be applied after Chrome starts. If the latter, you can use the user-data-dir Chrome command-line switch to tell Chrome which profile to use:

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");

You can create your own custom profile by just running Chrome (on the command-line or through ChromeDriver) with the user-data-dir switch set to some new directory. If the path doesn't exist, Chrome will create a new profile in the specified location. You can then modify the profile settings as desired, and ChromeDriver can use the profile in the future. Open chrome://version in the browser to see what profile Chrome is using.
2020-06-26