我正在尝试使用现有用户个人资料打开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!
我通过查看user directory path
页面确认了chrome://version
。 (下面的截图)
由于某种原因,此代码以非常少的信息抛出异常
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
答案 0 :(得分:1)
您使用的是最新版本的ChromeDriver
chromedriver=2.33.506106
与Selenium 2.53 。您应该使用latest release。
无论如何,你的浏览器版本是什么? Here您可以查看支持的浏览器版本(基于您的chromedriver)。
修改强>
我尝试过:
从 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);
它有效。
答案 1 :(得分:0)
终于解决了这个问题。我正在研究macOS,发现我需要彻底退出浏览器。
关闭浏览器窗口后,我必须右键单击Dock中的图标并按退出。在此之后,selenium脚本将完美地运行。