java - 无法使用 Selenium 中的用户配置文件启动 Chrome 浏览器

标签 java google-chrome selenium selenium-chromedriver

我正在尝试使用现有用户个人资料打开 Chrome 浏览器窗口。

    String dir= "/Users/labuser/Library/Application Support/Google/Chrome";        
    ChromeOptions options = new ChromeOptions();
    options.addArguments("--user-data-dir="+dir);
    driver = new ChromeDriver(options); // throws an exception!

我通过查看 chrome://version 页面确认了用户目录路径。 (如下截图)

enter image description here

由于某种原因,此代码抛出异常,信息非常少

org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2),platform=Mac OS X 10.12.6 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.33 seconds
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'arustagi-wx-3', ip: '10.41.25.35', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '1.8.0_111'
Driver info: org.openqa.selenium.chrome.ChromeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:148)

编辑

我正在使用以下 Chrome 浏览器,该浏览器属于支持的浏览器范围

Version 61.0.3163.100

最佳答案

您正在使用最新版本的 ChromeDriver

chromedriver=2.33.506106

含 Selenium 2.53。您应该使用 latest release .

无论如何,您的浏览器版本是什么? Here您可以查看支持哪些浏览器版本(基于您的 chromedriver)。

编辑

我尝试过:

  • Selenium 3.5.3
  • ChromeDriver v2.33
  • Google Chrome 版本 62.0.3202.62(官方版本)(64 位)

来自chrome://version/,我的个人资料路径是

/Volumes/MacintoshSSD/Users/DurdenP/Library/Application Support/Google/Chrome/Default 

尝试

    String chromeDriver ="pathTo/ChromeDriver/chromedriver";
    System.setProperty("webdriver.chrome.driver", chromeDriver);
    ChromeOptions options = new ChromeOptions();
    String dir= "/Volumes/MacintoshSSD/Users/DurdenP/Library/Application Support/Google/Chrome";
    options.addArguments("user-data-dir="+dir);
    ChromeDriver driver = new ChromeDriver(options);

它有效。

关于java - 无法使用 Selenium 中的用户配置文件启动 Chrome 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46848018/

相关文章:

java - 输出重复一行

java - Oracle JDBC 预取 : how to avoid running out of RAM/how to make oracle faster high latency

python - 为 Youtube 自动生成的字幕自动打开脚本

android - 在 android 中使用桌面 View 启动 chrome 浏览器应用程序

python - 结合 Mechanize 浏览器和 Selenium

java - "unknown error"、 "message": "connection refused", "stacktrace"尝试在 Mac OS X 上通过 GeckoDriver 和 Selenium 使用 firefoxprofile

java - 对集合调用 addFirst

java - 在 Activity 中的可运行状态中调用 setAdapter 引发 NullPointerException

python - 如何保存从 Python Selenium ChromeDriver 在 Chrome 中打开的嵌入式 PDF

javascript - backstretch 导致 chrome 中的其他背景图像出现问题