使用场景:项目中使用selenium驱动chrome执行登录网站、获取数据操作.但发现启动多个chrome,多个帐号同时登录时,cookie是共享的,无法达到多个帐号同时登录的目的.
解决思路:发现chrome是支持多用户的,每次使用不同用户启动chrome,这样就可以达到cookie独立效果.(前提需要手动新建N个chrome用户,然后copy User Data文件夹N份,编号重命名)
编码设置:
//Chrome地址栏输入chrome://version/,查看自己的“个人资料路径”
/** 注意:使用chrome多用户时,先在浏览器创建多用户,然后copy User Data文件夹多份,在设置用户时,每个用户单独使用一个User Data**/
ChromeOptions options = new ChromeOptions();
//设置用户配置文件夹
String userDataPath = CARDResources.getString("chrome.userdata.path");
options.addArguments("--user-data-dir=" + userDataPath + "/ChromeUserData" + userDirIndex.get());
//设置用户
options.addArguments("--profile-directory=Profile " + userDirIndex.get());
userDirIndex.getAndIncrement();
ChromeDriver driver = new ChromeDriver(options);
时间: 2024-09-29 00:31:51