提问人:Ian Murray 提问时间:6/21/2023 最后编辑:undetected SeleniumIan Murray 更新时间:8/11/2023 访问量:925
“无法创建 Chrome 进程” - Selenium Webdriver 错误
"Failed to create Chrome process" - Selenium Webdriver Error
问:
我正在尝试调试为什么我的硒不起作用。我一直在查看 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.0
114.0.5735.134
ChromeDriver 114.0.5735.90
答:
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 房间的任何时候需要进一步的帮助,请告诉我。
评论