“无法创建 Chrome 进程” - Selenium Webdriver 错误

"Failed to create Chrome process" - Selenium Webdriver Error

提问人:Ian Murray 提问时间:6/21/2023 最后编辑:undetected SeleniumIan Murray 更新时间:8/11/2023 访问量:925

问:

我正在尝试调试为什么我的硒不起作用。我一直在查看 Heroku 文档,了解如何在部署到 Heroku 时使用 selenium webdriver,但我最近遇到了这个错误:

Traceback (most recent call last):
  File "C:\Users\IanMurray\Documents\acis\selenium_sandbox.py", line 13, in <module>
    driver = webdriver.Chrome(
  File "C:\Users\IanMurray\Documents\acis\.venv3.9\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 49, in __init__
    super().__init__(
  File "C:\Users\IanMurray\Documents\acis\.venv3.9\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 54, in __init__
    super().__init__(
  File "C:\Users\IanMurray\Documents\acis\.venv3.9\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 206, in __init__
    self.start_session(capabilities)
  File "C:\Users\IanMurray\Documents\acis\.venv3.9\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 291, in start_session
    response = self.execute(Command.NEW_SESSION, caps)["value"]
  File "C:\Users\IanMurray\Documents\acis\.venv3.9\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 346, in execute
    self.error_handler.check_response(response)
  File "C:\Users\IanMurray\Documents\acis\.venv3.9\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 245, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Failed to create Chrome process.
Stacktrace:
Backtrace:
GetHandleVerifier [0x0115A813+48355]
        (No symbol) [0x010EC4B1]
        (No symbol) [0x00FF5358]
        (No symbol) [0x01012026]
        (No symbol) [0x01010579]
        (No symbol) [0x01040C55]
        (No symbol) [0x0104093C]
        (No symbol) [0x0103A536]
        (No symbol) [0x010182DC]
        (No symbol) [0x010193DD]
        GetHandleVerifier [0x013BAABD+2539405]
        GetHandleVerifier [0x013FA78F+2800735]
        GetHandleVerifier [0x013F456C+2775612]
        GetHandleVerifier [0x011E51E0+616112]
        (No symbol) [0x010F5F8C]
        (No symbol) [0x010F2328]
        (No symbol) [0x010F240B]
        (No symbol) [0x010E4FF7]
        (No symbol) [0x75EE00C9]
        RtlGetAppContainerNamedObjectPath [0x77927B4E+286]
        RtlGetAppContainerNamedObjectPath [0x77927B1E+238]

我正在使用以下代码初始化我的 webdriver。这是在我的机器上重现该错误的最小示例:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

service = Service(ChromeDriverManager().install())
options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usages')
options.add_argument('--headless')
options.add_argument('--remote-debugging-port=9222')

driver = webdriver.Chrome(
    service=service,
    options=options
)

print("done")

在没有“driver = webdriver.Chrome(service, options)“行运行良好,但未初始化 web驱动程序。一旦我尝试运行“driver = webdriver.Chrome()“,即使没有 service/options 参数,我也会出现以下错误。

我在 Python 3.9.13 上,带有 selenium 版本:.如果您需要我的更多信息,请告诉我。提前感谢您的任何帮助。我使用的 Chrome 版本是: ,我使用的 ChromeDriver 版本是:4.10.0114.0.5735.134ChromeDriver 114.0.5735.90

python google-chrome selenium-chromedriver seleniummanager

评论


答:

1赞 undetected Selenium 6/21/2023 #1

更新到 Selenium v4.10.0,因此您不会明确需要 WebDriverManager,因为当 PATH 上未检测到浏览器驱动程序或未使用第三方驱动程序管理器时,Selenium 绑定会透明地调用完全集成的 Selenium Manager

此外,而不是:

options.add_argument('--headless')

使用参数 --headless=new

options.add_argument("--headless=new");

溶液

您的有效代码块将是:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = webdriver.ChromeOptions()
options.add_argument('"--headless=new"')
driver = webdriver.Chrome(options=options)
print("done")

评论

1赞 Ian Murray 6/21/2023
嗨,未被发现的硒,感谢您的帮助。逐字运行上述代码会产生相同的错误。我的 selenium 版本正好是 4.10.0,所以它应该具有您提到的功能。我会继续尝试,直到有所作为,并回信说明任何进展
1赞 undetected Selenium 6/21/2023
@IanMurray 如果您在 Selenium 房间的任何时候需要进一步的帮助,请告诉我。