使用場景:項目中使用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);