Python webbrowser模块异常:默认Chrome却启动Firefox的解决方法
解决Python webbrowser模块默认打开Firefox而非系统默认Chrome的问题
问题场景
运行以下Python代码时,系统默认浏览器为Chrome,但代码却打开了Firefox:
import webbrowser a = str(input("Enter Your Website : ...")) print(a) print('Searching '+ a) webbrowser.open(a)
原因
webbrowser模块会尝试读取系统默认浏览器配置,但部分场景下(如多浏览器安装顺序、模块缓存的旧配置、系统默认应用未正确关联),模块会优先调用已注册的Firefox而非系统默认的Chrome。
解决方案
方案1:直接指定Chrome路径打开
手动指定Chrome的可执行文件路径,强制调用Chrome:
import webbrowser # 根据你的系统调整路径: # Windows 示例: chrome_path = 'C:/Program Files/Google/Chrome/Application/chrome.exe %s' # Mac 示例: # chrome_path = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome %s' # Linux 示例: # chrome_path = '/usr/bin/google-chrome %s' url = input("Enter Your Website : ...") print(f'Searching {url}') webbrowser.get(chrome_path).open(url)
方案2:注册Chrome为webbrowser的可用浏览器
将Chrome注册到webbrowser模块的浏览器列表,后续可直接调用:
import webbrowser # 注册Chrome浏览器 chrome_path = 'C:/Program Files/Google/Chrome/Application/chrome.exe' webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(chrome_path)) url = input("Enter Your Website : ...") print(f'Searching {url}') # 使用注册的chrome实例打开链接 webbrowser.get('chrome').open(url)
方案3:检查系统默认应用配置
确认系统默认浏览器的关联是否正确:
- Windows:打开「设置→应用→默认应用」,将「Web浏览器」设置为Chrome;也可检查注册表
HKEY_CLASSES_ROOT/http/shell/open/command的默认值是否指向Chrome的可执行文件路径。 - Mac:打开「系统设置→桌面与 Dock→默认网页浏览器」,选择Chrome。
- Linux:通过系统设置的默认应用选项,将Chrome设为默认网页浏览器。
内容的提问来源于stack exchange,提问作者Noob_Master_69
相关产品推荐
相关产品推荐

