--user-data-dir选项

我尝试使用--user-data-dir选项打开Chromedriver,但出现以下错误 . 我已经在很多方面试了一个月,仍然没有线索 . 请帮我!

错误信息是:

Traceback(最近一次调用最后一次):文件“C:\ Users \ owner \ Desktop \ MouseWithoutBorders \ AutoCheckin.py”,第15行,在driver = webdriver.Chrome中(executable_path = r“C:\ Users \ owner \ Desktop \ MouseWithoutBorders \ chromedriver.exe“,chrome_options = opts)文件”C:\ Users \ owner \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ chrome \ webdriver.py“,第75行, in init desired_capabilities = desired_capabilities)在init self.start_session中的文件“C:\ Users \ owner \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py”,第156行(capabilities,browser_profile)文件“C:\ Users \ owner \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py”,第251行,在start_session response = self中 . 执行(Command.NEW_SESSION,参数)文件“C:\ Users \ owner \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py”,第320行,执行自我.error_handler.check_response(响应)文件“C:\ Users \ owner \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py”,第242行,在check_response中引发exception_class(message,screen,stacktrace)selenium .common.exceptions.WebDriverException:消息:未知错误:无法删除旧的devtools端口文件 . 也许C:\ Users \ owner \ AppData \ Local \ Google \ Chrome \中的给定user-data-dir仍然附加到正在运行的Chrome或Chromium进程 . (驱动程序信息:chromedriver = 2.41.578737(49da6702b16031c40d63e5618de03a32ff6c197e),platform = Windows NT 10.0.17738> x86_64)

和我的python测试代码是:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.chrome.options import Options
from myidez import ID, PW

opts = webdriver.ChromeOptions()
opts.add_argument('--start-maximized')
opts.add_argument('--headless')
opts.add_argument('--no-sandbox')
opts.add_argument('--disable-dev-shm-usage')
opts.add_argument('--disable-gpu')
opts.add_argument("--user-data-dir= C:\\Users\\owner\\AppData\\Local\\Google\\Chrome\\User Data")
driver = webdriver.Chrome(executable_path=r"./chromedriver.exe", chrome_options=opts)

我发现此错误来自铬代码参考:https://chromium.googlesource.com/chromium/src/+/master/chrome/test/chromedriver/chrome_launcher.cc https://peter.sh/experiments/chromium-command-line-switches/

Status RemoveOldDevToolsActivePortFile(const base::FilePath& user_data_dir) {
  base::FilePath port_filepath = user_data_dir.Append(kDevToolsActivePort);
  // Note that calling DeleteFile on a path that doesn't exist returns True.
  if (base::DeleteFile(port_filepath, false)) {
    return Status(kOk);
  }
  return Status(
      kUnknownError,
      std::string("Could not remove old devtools port file. Perhaps "
                  "the given user-data-dir at ") +
          user_data_dir.AsUTF8Unsafe() +
          std::string(" is still attached to a running Chrome or Chromium "
                      "process."));