如何通过 Selenium、ChromeDriver 和 GoogleChrome 打开默认 Chrome 配置文件

Nat*_*ham 5 c# selenium google-chrome selenium-chromedriver selenium-webdriver

我想加载一个使用 Chrome 的新 Selenium ChromeDriver,就像我从 Dock 中打开 Chrome 一样(基本上它会包含我所有的扩展程序、历史记录等)

当我使用以下代码时:

ChromeOptions options = new ChromeOptions();
options.AddArgument("user-data-dir=C:\\Users\\User\\AppData\\Local\\Google\\Chrome\\User Data\\");
options.AddArgument("disable-infobars");
options.AddArgument("--start-maximized");
ChromeDriver chromeDriver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)

它加载 Chrome 浏览器,我登录到我的 Gmail 和我所有的扩展程序,就像我想要的那样,但我的其余代码:

chromeDriver.Navigate().GoToUrl("https://www.youtube.com/");
Run Code Online (Sandbox Code Playgroud)

不执行。但是当我使用以下内容时

ChromeOptions options = new ChromeOptions();
options.AddArgument("user-data-dir=C:\\Users\\Andrea\\AppData\\Local\\Google\\Chrome\\User Data\\Default");
options.AddArgument("disable-infobars");
options.AddArgument("--start-maximized");
ChromeDriver chromeDriver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)

我的其余代码完美执行(注意添加到第一个参数末尾的“默认”)。关于如何获得第一个代码块(最后没有“默认”的那个)来执行我程序的其余部分的任何提示或建议都会很棒。谢谢!

Bua*_*ban 0

我有同样的问题。我不知道如何修复它,我猜根本原因是配置文件路径中的空白。

我知道一个解决方法。只需复制到C:\\Users\\Andrea\\AppData\\Local\\Google\\Chrome\\User Datac:\myUserData路径中没有空格)。

然后添加参数。

options.AddArgument("user-data-dir=C:\\myUserData");
Run Code Online (Sandbox Code Playgroud)