Why do I get "webbrowser.Error: could not locate runnable browser"?

Why do I get "webbrowser.Error: could not locate runnable browser"?

我是 python 中的编码新手,我想知道是否有人可以解释为什么这段代码在第二次尝试时有效,但在第一次尝试时却无效?

我只是想打开一个非默认浏览器。

第一次尝试 --> 没有成功

import webbrowser

url='https://www.mozilla.org'
webbrowser.register('firefox', None)
webbrowser.BackgroundBrowser("C:\Program Files\Mozilla Firefox\firefox.exe")
webbrowser.get('firefox').open(url)
webbrowser.Error: could not locate runnable browser

Process finished with exit code 1

第二次尝试 --> 有效

import webbrowser

url='https://www.mozilla.org'
webbrowser.register('firefox', None, webbrowser.BackgroundBrowser("C:\Program Files\Mozilla Firefox\firefox.exe"))
webbrowser.get('firefox').open(url)
Process finished with exit code 0

正如您看到的 hereregister 告诉 Python 可以在何处找到名为“firefox”的网络浏览器。您必须传递一个实例 (BackgroundBrowser) 或一个构造函数。在第一个代码片段中,您将 None 作为构造函数传递,这不是有效的浏览器 class,因此它不能 find/create 浏览器并且无法注册它。在第二个片段中,您传递 BackgroundBrowser 实例,因此它可以将此有效浏览器注册为“firefox”,您可以稍后 运行 它。

第一个片段中的第 5 行 (webbrowser.BackgroundBrowser...) 基本上什么都不做,您应该像在第二个片段中那样将其作为 register 的参数。