gpt4 book ai didi

C# Selenium 使用不同的用户配置文件启动 Chrome

转载 作者:太空狗 更新时间:2023-10-30 01:00:27 51 4
gpt4 key购买 nike

在过去的 2 天里,我一直在尝试寻找一种方法来使用不同的配置文件启动 Chrome,但无济于事。无论我做什么,Selenium 为 chrome 加载的配置文件始终是一些临时配置文件,例如“C:\Users\DARKBO~1\AppData\Local\Temp\scoped_dir14308_25046\Default”

我试过下面的代码:

ChromeOptions options = new ChromeOptions();
options.AddArgument(@"user-data-dir=C:\SeleniumProfiles\Default");

IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("chrome://version");

首先,我尝试直接从 Chrome 文件夹中使用配置文件的目录,但没有用。然后我创建了一个新文件夹并将配置文件移到那里,我尝试在 C:\和 D:\中执行此操作。没有任何区别。我试过运行 user-data-dir 参数,就像它当前在代码中一样,并且在它前面加上 -- 。我试过使用不带 @ 符号的双反斜杠,仍然没有。无论我做什么,配置文件目录始终是 Selenium 临时目录。

附言我使用 chrome user-data-dir=C:\SeleniumProfiles 命令通过命令提示符创建的当前 C:\SeleniumProfiles 目录

附言2:我的错误很简单,我忘记把options放到新驱动的构造函数里了。正如 Tarun 明确指出的那样,user-data-dir 只为 Chrome 提供了包含配置文件的目录,然后我们需要使用 profile-directory 参数来提供子目录包含所需的配置文件。

最佳答案

您根本没有使用选项对象。

IWebDriver driver = new ChromeDriver();

应该是

IWebDriver driver = new ChromeDriver(options);

Edit-1 - Chrome 配置文件和用户

Chrome 具有用于存储配置文件的用户数据目录。在此目录中可以维护多个配置文件。有两个参数可以使用

  • 用户数据目录
  • 个人资料目录

如果仅指定了 user-data-directory,则将使用其中的 Default 目录。如果指定了 profile-directory,则使用 user-data-directory 中的目录

关于C# Selenium 使用不同的用户配置文件启动 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46342017/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com