You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium启动Brave浏览器成功但无法访问指定URL问题

故障根因

Ubuntu下snap安装的Brave默认开启强沙箱隔离,会拦截Selenium驱动与浏览器渲染进程间的CDP调试通信,直接导致driver.get()这类操作指令静默失效——浏览器本身能正常启动、显示自动化控制提示,但所有控制指令都无法传入进程,因此不会跳转URL、也不会抛出显式报错。自行下载的通用版chromedriver与snap编译的Brave存在构建参数差异,会进一步加剧通信异常。

修复步骤
  • 启动参数补全沙箱适配项:在ChromeOptions中添加--no-sandbox和--disable-dev-shm-usage两个参数,放开snap沙箱对跨进程调试通信的拦截。
  • 替换驱动为Brave内置版本:不要使用自行下载的通用chromedriver,snap版Brave自带版本完全匹配的驱动,固定路径为/snap/brave/current/usr/lib/chromium-browser/chromedriver,不存在版本或构建参数不兼容问题。
  • 运行前清理残留进程:执行终端命令pkill brave杀掉所有后台驻留的Brave僵尸进程,避免残留进程占用调试端口导致通信失败。
修正后可运行代码
from selenium import webdriver

brave_path = "/snap/bin/brave"
option = webdriver.ChromeOptions()
option.binary_location = brave_path
# 适配snap沙箱的必加参数
option.add_argument("--no-sandbox")
option.add_argument("--disable-dev-shm-usage")

# 调用Brave内置的匹配驱动
driver = webdriver.Chrome(
    executable_path="/snap/brave/current/usr/lib/chromium-browser/chromedriver",
    options=option
)
driver.get("https://youtube.com/")

补充:如果使用Selenium 4.6及以上版本,可省略executable_path参数,Selenium Manager会自动识别Brave内置驱动,仅需添加两个沙箱适配参数即可正常运行。

内容的提问来源于stack exchange,提问作者mahiatlinux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 12:27:13