我有使用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
的目录,没关系。
这里有什么问题?
答案 0 :(得分:9)
我在之前没有注意到的Chrome驱动程序官方维基页面上有一个Known issues部分:
已知问题
3。无法指定自定义配置文件
现在,我不知道这是否过时。我找不到这个错误报告。正如您所发现的那样,您无法通过Capabilities
(截至2013年7月)指定自定义配置文件。但是有一个解决方案......
以下是我设法让它运行的方式:
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配置文件。
我不知道为什么Capabilities
解决方案不起作用。可能值得file a bug,因为我找不到一个主题。