Selenium 不使用默认 Chrome 配置文件

Selenium not using Default Chrome Profile(Selenium 不使用默认 Chrome 配置文件)

本文介绍了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-packagesseleniumwebdriver
emotewebdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:Python38libsite-packagesseleniumwebdriver
emotewebdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:Python38libsite-packagesseleniumwebdriver
emotewebdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:Python38libsite-packagesseleniumwebdriver
emoteerrorhandler.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:\Users
obert.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")

这篇关于Selenium 不使用默认 Chrome 配置文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Selenium 不使用默认 Chrome 配置文件

基础教程推荐