硒不使用默认Chrome配置文件 [英] Selenium not using Default Chrome Profile

查看:154
本文介绍了硒不使用默认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:\Users\xxx\.wdm\drivers\chromedriver\87.0.4280.20\win32\chromedriver.exe"
options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=C:\\Users\xxx\\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:\Users\xxx\OneDrive\Python\pyReportRun.py", line 16, in <module>
    driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
  File "C:\Python38\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 76, in __init__
    RemoteWebDriver.__init__(
  File "C:\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Python38\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Python38\lib\site-packages\selenium\webdriver\remote\errorhandler.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:\Users\xxx\AppData\Local\Google\Chrome\User Data\Profile 1 is still attached to a running Chrome or Chromium process

推荐答案

chrom_options.add_argument("user-data-dir=C:\\Users\robert.car\\AppData\\Local\\Google\\Chrome\\User Data")

chrom_options.add_argument("profile-directory=Profile 1")

user-data-dir将配置文件视为默认配置文件,而不必指定该配置文件.如果还有其他东西,可以通过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://版本

open : chrome://version in address bar

将用户目录完全复制到例如c:\ tmp \ newdir

copy the user dir folder completely to eg c:\tmp\newdir

打开复制的用户数据(newdir),然后搜索名为Default的文件夹.这是配置文件文件夹.

open the copied user data (newdir) and search for folder called Default . This is the profile folder.

重命名,默认文件夹为配置文件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")

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

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆