如何将Selenium启动的Chrome设置为系统默认浏览器?
解决外部链接在Selenium启动的Chrome中打开的问题
问题根源
你当前用Selenium启动的Chrome虽然加载了默认用户配置,但它是一个独立的进程,系统的默认浏览器关联仍指向常规Chrome启动程序,所以Excel、Teams里的链接会优先打开默认Chrome。
可行解决方案
方案一:连接到已打开的默认Chrome(推荐)
这个方法让Selenium直接接管你日常使用的默认Chrome,外部链接会直接在该浏览器中打开,无需修改系统全局设置,步骤如下:
- 关闭所有Chrome窗口
- 开启带调试端口的Chrome:
- 找到Chrome安装路径(通常是
C:\Program Files\Google\Chrome\Application\chrome.exe),打开命令提示符运行:"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 - 或者右键Chrome快捷方式,在「目标」栏末尾添加
--remote-debugging-port=9222(注意前面有空格),双击启动Chrome
- 找到Chrome安装路径(通常是
- 修改你的Selenium代码,连接到这个已启动的Chrome实例:
这样设置后,外部链接会直接在这个Chrome中打开,Selenium也能正常控制浏览器执行自动化操作。def initialize_browser(): global driver opt = Options() # 连接到开启调试端口的Chrome opt.add_experimental_option("debuggerAddress", "127.0.0.1:9222") driver = webdriver.Chrome(options=opt) # 如需打开初始页面,保留此行 driver.get("Website I initially load")
方案二:临时修改系统默认浏览器(不推荐)
如果一定要让Selenium启动的Chrome成为系统默认,可按以下步骤操作:
- 确认Selenium使用的Chrome程序路径(通常和常规Chrome路径一致)
- 打开Windows设置 → 应用 → 默认应用 → 选择默认浏览器,将其改为该Chrome程序
- 缺点:所有外部链接都会默认用这个Chrome打开,影响日常非自动化场景的使用
方案三:捕获外部链接并通过Selenium打开(复杂度高)
通过脚本监听剪贴板或修改链接打开方式,让Excel/Teams的链接调用Selenium的driver.get()方法打开。但该方法需要额外编写监听逻辑,对新手不友好,不推荐。
注意事项
- 使用方案一时,必须确保启动Chrome时添加了
--remote-debugging-port参数,且启动前关闭所有Chrome窗口 - 连接成功后,你可以正常手动操作浏览器,Selenium的自动化代码也能同步执行
内容的提问来源于stack exchange,提问作者Anput
相关产品推荐
相关产品推荐

