selenium打開指定Chrome賬號
-
獲取User Data路徑
打開目標Chrome,在搜索欄輸入chrome://version,找到“個人資料路徑”。
這里獲取到的路徑為:C:\Users\Admin\AppData\Local\Google\Chrome\User Data,去掉后面的\Profile 2。
-
獲取--profile-directory值
方法一:
上圖User Data路徑末尾的“Profile 2”即為--profile-directory值。
方法二:
右鍵目標Chrome的桌面圖標,點擊屬性可看到--profile-directory值為“Profile 2”。
-
代碼演示
from time import sleep from selenium import webdriver options = webdriver.ChromeOptions() # 步驟1獲取到的User Data路徑 options.add_argument(r'--user-data-dir=C:\Users\Admin\AppData\Local\Google\Chrome\User Data') # 步驟2獲取到的--profile-directory值 options.add_argument("--profile-directory=Profile 2") driver = webdriver.Chrome(options=options) driver.get("https://www.baidu.com/") sleep(3) driver.quit()
注意:此時已實現打開目標Chrome,但當電腦已有打開的Chrome瀏覽器時,運行到第10行時會報錯:user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir
解決1:在運行腳本之前關閉所有Chrome實例。即關閉所有Chrome瀏覽器
解決2(推薦):復制一份“Profile 2”文件夾到自己的目錄,專門用於自動化。
復制到自己的目錄下:C:\Users\Admin\Desktop\AutoTest\ChromeData
-
修改代碼
from time import sleep from selenium import webdriver options = webdriver.ChromeOptions() # 修改路徑為自己的目錄 options.add_argument(r'--user-data-dir=C:\Users\Admin\Desktop\AutoTest\ChromeData') options.add_argument("--profile-directory=Profile 2") driver = webdriver.Chrome(options=options) driver.get("https://www.baidu.com/") sleep(3) driver.quit()
至此,解決了多開Chrome時運行腳本報錯的問題~