为了账号安全,请及时绑定邮箱和手机立即绑定

使用Java使用Selenium WebDriver加载Chrome配置文件

使用Java使用Selenium WebDriver加载Chrome配置文件

慕哥9229398 2019-09-03 15:24:56
我遇到了一些让Selenium加载镀铬配置文件的麻烦。String pathToChrome = "driver/chromedriver.exe";System.setProperty("webdriver.chrome.driver", pathToChrome);DesiredCapabilities capabilities = DesiredCapabilities.chrome();String chromeProfile = "C:\\Users\\Tiuz\\AppData\\Local\\Google\\Chrome\\User Data\\Default";ArrayList<String> switches = new ArrayList<String>();switches.add("--user-data-dir=" + chromeProfile);capabilities.setCapability("chrome.switches", switches);WebDriver driver = new ChromeDriver(capabilities);driver.get("http://www.google.com");它开始很好并且工作得很完美,但是我想要加载默认配置文件,因为我想测试它,启用了一些Extensions并测试了一些首选项。有没有人知道为什么这段代码不起作用?我在Windows 7 x64上用Selenium 2.29.1和2.28.0以及chromedriver 26.0.1383.0测试了它。
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

这是一个老问题,但我仍然遇到问题,所以我做了一些研究,以了解发生了什么。@PrashanthSams的答案是正确的,但我错误地添加\Default到配置文件路径的末尾

我发现Chrome附加\Default到了指定的配置文件路径user-data-dir。因此,如果您的配置文件路径指定为:

user-data-dir=C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default\

它会附加\Default,你最终会:

C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default\Default

这与您在该用户配置文件下正常打开chrome时获得的配置文件不同。

如果打开命令提示符,导航到chrome可执行文件目录,并使用与此类似的指定选项运行chrome,也可以验证设置:

chrome.exe --user-data-dir="C:\Users\user_name\AppData\Local\Google\Chrome\User Data"

最后,您可以转到Chrome中的新标签页并浏览到chrome://version/您将看到正在使用的实际个人资料。它将被列为:

配置文件路径 C:\ Users \ user_name \ AppData \ Local \ Google \ Chrome \ User Data \ Default


查看完整回答
反对 回复 2019-09-03
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

这些组合确实对我有用:)


System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");

ChromeOptions options = new ChromeOptions();

options.addArguments("user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data");

options.addArguments("--start-maximized");

driver = new ChromeDriver(options);


查看完整回答
反对 回复 2019-09-03
  • 3 回答
  • 0 关注
  • 3829 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信