c# - 如何通过 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:\”并用正斜杠替换所有反斜杠。因此,从原始问题开始,这应该可以加载默认配置文件:
options.AddArgument("user-data-dir=/Users/User/AppData/Local/Google/Chrome/User Data");
推荐阅读
- vhdl - Xilinx ISE:找到运算符“+”的“0”定义,无法确定“+”的精确重载匹配定义
- kotlin - 将字符添加到列表
在科特林 - amazon-web-services - 413 请求实体太大 AWS Elastic Beanstack
- ios - 如何使用 UIAlertController 在 Swift 上暂停代码并等待 UIAlert 的回答
- android - 如何在 min API 21 下将状态栏更改为浅色模式
- azure - 由于证书不受信任,无法从 Azure SF 连接到外部 https
- algorithm - 矩阵中的等距点
- apache-spark - 增量表作为流源。如何计算消费滞后
- c++ - 并发/多线程:是否可以通过这种方式生成相同的输出?
- kubernetes - 将独立补丁定义为 YAML