使用 Java 使用 Selenium WebDriver 加载 Chrome 配置文件

新手上路,请多包涵

我在让 Selenium 加载 chrome 配置文件时遇到了一些麻烦。

 String pathToChrome = "driver/chromedriver.exe";
System.setProperty("webdriver.chrome.driver", pathToChrome);

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
String chromeProfile = "C:\\Users\\Tiuz\\AppData\\Local\\Google\\Chrome\\User Data\\Default";
ArrayList<String> switches = new ArrayList<String>();
switches.add("--user-data-dir=" + chromeProfile);
capabilities.setCapability("chrome.switches", switches);
WebDriver driver = new ChromeDriver(capabilities);
driver.get("http://www.google.com");

它开始很好并且工作完美,但我想加载默认配置文件,因为我想在启用一些扩展和测试一些首选项的情况下测试它。

有谁知道为什么这段代码不起作用?

我已经在 Windows 7 x64 上使用 chromedriver 26.0.1383.0 使用 Selenium 2.29.1 和 2.28.0 对其进行了测试。

原文由 Tiuz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 527
1 个回答

这是一个老问题,但我仍然无法让它正常工作,所以我做了更多研究以了解发生了什么。 @PrashanthSams 的回答是正确的,但我错误地将 \Default 添加到配置文件路径的末尾

我发现 Chrome 将 — 附加到 — user-data-dir \Default 中指定的配置文件路径。因此,如果您的配置文件路径指定为:

user-data-dir=C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default\

它会追加 \Default 你最终会在:

C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default\Default

这与您通常在该用户配置文件下打开 chrome 时获得的配置文件不同。

如果您打开命令提示符,导航到 chrome 可执行文件目录,并使用类似于以下指定的选项运行 chrome,您还可以验证您的设置:

chrome.exe --user-data-dir="C:\Users\user_name\AppData\Local\Google\Chrome\User Data"

最后,您可以转到 Chrome 中的新选项卡并浏览至 chrome://version/ 您将看到正在使用的实际配置文件。它将像这样列出:

配置文件路径 C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default

原文由 JasonG 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题