Selenium 不使用默认 Chrome 配置文件
问题描述
Selenium 不会加载我的默认 Chrome 配置文件,我不知道为什么.我已经尝试过配置文件 1 和默认配置文件,但出现相同的错误(如下).我已通过任务管理器确认所有 Chrome 窗口在运行此代码之前都已关闭.有什么想法吗?
Selenium will not load my default Chrome Profile and I cannot figure out why. I have tried both Profile 1 and a Default profile with the same error (below). I have confirmed with Task Manager that all Chrome windows are shut down before running this code. Any thoughts?
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
import numpy as np
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
import os
os.system("taskkill /f /im geckodriver.exe /T")
os.system("taskkill /f /im chromedriver.exe /T")
os.system("taskkill /f /im IEDriverServer.exe /T")
os.system("taskkill /f /im chrome.exe /T")
driver2 = r"C:Usersxxx.wdmdriverschromedriver87.0.4280.20win32chromedriver.exe"
options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=C:\Usersxxx\AppData\Local\Google\Chrome\User Data\Profile 1")
driver = webdriver.Chrome(executable_path=driver2, chrome_options=options)
driver.get("https://www.google.co.in")
Traceback (most recent call last):
File "C:UsersxxxOneDrivePythonpyReportRun.py", line 16, in <module>
driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
File "C:Python38libsite-packagesseleniumwebdriverchromewebdriver.py", line 76, in __init__
RemoteWebDriver.__init__(
File "C:Python38libsite-packagesseleniumwebdriveremotewebdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:Python38libsite-packagesseleniumwebdriveremotewebdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:Python38libsite-packagesseleniumwebdriveremotewebdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:Python38libsite-packagesseleniumwebdriveremoteerrorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Could not remove old devtools port file. Perhaps the given user-data-dir at C:UsersxxxAppDataLocalGoogleChromeUser DataProfile 1 is still attached to a running Chrome or Chromium process
解决方案
chrom_options.add_argument("user-data-dir=C:\Usersobert.car\AppData\Local\Google\Chrome\User Data")
chrom_options.add_argument("profile-directory=Profile 1")
user-data-dir 将 profile 视为默认值,您不必指定它.如果是其他东西,则通过 profile-directory 参数指定它
user-data-dir considers profile as default , and you don't have to specify that . If its something else specify it through profile-directory argument
创建个人资料的步骤:
打开:地址栏中的 chrome://version
open : chrome://version in address bar
复制用户目录文件夹完全到例如c: mp ewdir
copy the user dir folder completely to eg c: mp ewdir
打开复制的用户数据 (newdir) 并搜索名为 Default 的文件夹.这是个人资料文件夹.
open the copied user data (newdir) and search for folder called Default . This is the profile folder.
重命名默认文件夹为Profile 1"
rename the Default folder as "Profile 1"
现在使用这个:
chrom_options.add_argument("user-data-dir=c:\tmp\newdir")
chrom_options.add_argument("profile-directory=Profile 1")
相关文章