Python Selenium4通过Service对象调用Brave浏览器的实现方案咨询
解决方案
错误原因
你遇到selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary报错的核心原因是:ChromeDriver默认会在系统默认路径中查找Chrome浏览器的可执行文件,你未安装Chrome,同时修改后的代码遗漏了原有代码中指定Brave浏览器路径的ChromeOptions配置,导致ChromeDriver无法找到可用的Chromium内核浏览器。
符合Selenium 4 非弃用规范的可用代码
from selenium import webdriver from selenium.webdriver.chrome.service import Service # 配置Brave浏览器的可执行文件路径 option = webdriver.ChromeOptions() option.binary_location = r'C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe' # 传入ChromeDriver路径创建Service对象,替换已弃用的executable_path参数 driver_service = Service(r'C:\WebDrivers\chromedriver.exe') # 初始化驱动时同时传入Service对象和浏览器配置 driver = webdriver.Chrome(service=driver_service, options=option) driver.maximize_window() driver.get("https://www.google.com") my_page_title = driver.title print(my_page_title) assert "Google" in my_page_title driver.quit()
注意事项
- 请根据你本地的实际安装路径,替换代码中的Brave浏览器路径和ChromeDriver路径,避免因路径不匹配报错
- 需保证ChromeDriver的大版本和Brave浏览器对应的Chromium内核版本一致,你当前的版本组合(ChromeDriver 95、Brave对应Chromium 95)是匹配的,后续升级Brave后需要同步升级对应版本的ChromeDriver
- 无需安装Chrome浏览器,仅需Brave浏览器和对应版本的ChromeDriver即可正常运行
内容的提问来源于stack exchange,提问作者Ian Fischer
相关产品推荐
相关产品推荐

