我有包含Gmail登录信息的Cookie,因此Chrome会自动打开我的Gmail。
我尝试了以下代码,但是没有用:
System.setProperty("webdriver.chrome.driver","chromedriver\\chromedriver.exe"); DesiredCapabilities capabilities = DesiredCapabilities.chrome(); capabilities.setCapability("chrome.switches", Arrays.asList("C:\\Users\\Owner\\AppData\\Local\\Google\\Chrome\\User Data\\Default")); //I also tried using: capabilities.setCapability("chrome.switches", Arrays.asList("--user-data-dir = C:\\Users\\Owner\\AppData\\Local\\Google\\Chrome\\User Data\\Default")); WebDriver driver = new ChromeDriver(capabilities); driver.get("https://gmail.com");
我检查了C:\\Users\\Owner\\AppData\\Local\\Google\\Chrome\\User Data\\Default它的目录是可以的。这里有什么问题?
C:\\Users\\Owner\\AppData\\Local\\Google\\Chrome\\User Data\\Default
我以前没有注意到的Chrome驱动程序官方Wiki页面上有一个“ 已知问题”部分:
已知的问题 3。无法指定自定义配置文件
已知的问题
3。无法指定自定义配置文件
现在,我不知道这是不是过时的。我找不到为此的错误报告。的确,您不能通过Capabilities(自2013年7月起)指定自定义配置文件,就像您发现的那样。但是有解决方案…
Capabilities
这是我设法使其运行的方式:
ChromeOptions opt = new ChromeOptions(); opt.setBinary("E:\\some\\path\\chrome.exe"); opt.addArguments("--user-data-dir=C:\\Users\\Owner\\AppData\\Local\\Google\\Chrome\\User Data"); driver = new ChromeDriver(opt);
请注意用户数据目录的路径-它 没有 该\\Default部分。在这种情况下,它对我来说就很好了,打开了包含所有Cookie和登录信息的Chrome配置文件。
\\Default
我不知道为什么Capabilities解决方案不起作用。提交错误可能是值得的,因为我找不到关于该主题的错误。