首页 > 解决方案 > 如何通过 Selenium、ChromeDriver 和 GoogleChrome 打开默认 Chrome 配置文件

问题描述

我想加载一个使用 Chrome 的新 Selenium ChromeDriver,就好像我从我的扩展坞打开 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);

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

chromeDriver.Navigate().GoToUrl("https://www.youtube.com/");

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

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);

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

标签: c#google-chromeseleniumselenium-webdriverselenium-chromedriver

解决方案


我知道这是一个老问题,但对我有用的是删除“C:\”并用正斜杠替换所有反斜杠。因此,从原始问题开始,这应该可以加载默认配置文件:

options.AddArgument("user-data-dir=/Users/User/AppData/Local/Google/Chrome/User Data");


推荐阅读