我正在寻找一种方法来保存 chrome session 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
最佳答案
您需要在所需的用户配置文件下运行 Chrome。默认情况下,Selenium 网络驱动程序将创建一个临时配置文件。如果您为其提供用户配置文件,该配置文件将保留,如果 Chrome 未设置为删除 cookie,则将创建通常会为用户创建 cookie 的任何登录等。
参见 Selenium chromedriver site详情:
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.
关于c# - 保存 chrome cookies Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39183753/