webbrowser.get(“firefox”)在带有firefox的Mac上“找不到可运行的浏览器”

2024-06-01 07:06:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想我需要的是知道在现有的Firefox浏览器中运行哪一个magic命令行或OSA脚本程序来启动一个URL,如果一个浏览器正在运行,或者在Mac上启动Firefox。在

我正在测试一个Python程序(Crunchy Python),它设置一个web服务器,然后使用Firefox作为前端。它使用以下命令启动web应用程序:

try:
    client = webbrowser.get("firefox")
    client.open(url)
    return
except:
    try:
        client = webbrowser.get()
        client.open(url)
        return
    except:
        print('Please open %s in Firefox.' % url)

我的Mac上默认有Safari,但我也安装了Firefox并在运行。上面的代码在Safari中启动了新的URL(在本地主机上)。Crunchy在狩猎中效果不佳。我想在Firefox中看到它,因为我有Firefox。在Python2.5、2.6和2.7(来自版本控制)下,我得到以下信息:

^{pr2}$

火狐就在那里。我试着用webbrowser.get(“/应用程序/Firefox.app/Contents/MacOS/Firefox%它启动了一个新的Firefox实例,然后抱怨另一个Firefox实例已经在运行。在

我真的希望webbrowser在Firefox的现有选项卡/窗口中打开URL,如果它已经在运行,或者在一个新的Firefox中还没有运行。在

我看着网络浏览器.py而且看起来MacOSX没有“firefox”支持。没关系,我可以补充一下。但我不知道如何在Firefox中以我想要的方式打开URL。在

有什么想法?现在,我可以强迫Crunchy给我URL,我可以手动将其粘贴到Firefox中。在


Tags: 程序clientweb应用程序urlgetmac浏览器
2条回答

您应该使用启动服务来打开URL。您可以使用LaunchServices模块,或苹果的open实用程序,或我的launch实用程序(here)来完成此操作:

open可能是最简单的:

% open -b org.mozilla.firefox http://www.stackoverflow.com/

(或者,当然,在Python中具有subprocess或类似的等价物)应该做您想要的。在

苹果使用发布服务来查找应用程序。open命令可以使用应用程序-Apple developer man page for open

您需要的python命令是

client = webbrowser.get("open -a /Applications/Firefox.app %s")

听了尼古拉斯·莱利的评论

如果Firefox在应用程序列表中,那么您可以使用open-aFirefox.app%s

相关问题 更多 >