一尘不染

如何使用Chrome访问我现有的Cookie?

selenium

我有包含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它的目录是可以的。这里有什么问题?


阅读 494

收藏
2020-06-26

共1个答案

一尘不染

我以前没有注意到的Chrome驱动程序官方Wiki页面上有一个“
已知问题”部分:

已知的问题

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解决方案不起作用。提交错误可能是值得的,因为我找不到关于该主题的错误。

2020-06-26