打开并使用Safari

时间:2011-01-20 20:54:52

标签: python macos

我对mac世界相对较新。我的问题是关于在mac osx上使用python打开一个应用程序。从我到目前为止发现,似乎应用程序以app格式存储,实际上是目录。在打开应用程序时,操作系统会以某种方式解析这些吗?我想使用python打开Safari,它位于我的/Applications/Safari.app目录中。是否有一个特定的二进制文件我应该传递给os.system或者我应该以完全不同的方式进行它?我的最终目标是让safari打开一个本地html文件,关闭它然后打开另一个本地html文件。

谢谢, -John

3 个答案:

答案 0 :(得分:17)

Python标准库包含webbrowser模块,允许您以独立于平台的方式打开新的浏览器窗口或选项卡。如果它是用户的默认值,它确实支持OS X上的Safari:

>>> import webbrowser
>>> webbrowser.open("http://stackoverflow.com")

但是webbrowser不支持关闭浏览器窗口。对于该级别的控制,您最好通过安装py-appscript来使用Safari的Apple Event脚本界面。

>>> from appscript import *
>>> safari = app("Safari")
>>> safari.make(new=k.document,with_properties={k.URL:"http://stackoverflow.com"})
>>> safari.windows.first.current_tab.close()

如果您只想更改您打开的标签页中显示的网页:

>>> safari.windows.first.current_tab.URL.set("http://www.google.com")
>>> safari.windows.first.current_tab.URL.set("http://www.python.com")

Safari的Apple Events界面有些不直观(不幸的是,Mac应用程序并不罕见)。如果你需要做更复杂的事情,那里有参考文献。但Python和py-appscript为您提供了坚实的基础。

答案 1 :(得分:0)

这对我有用:

os.system("open /Applications/Safari.app http://www.google.com")

答案 2 :(得分:0)

os.system(" open -a /Applications/Safari.app http://www.google.com") 当safari不是打开后的默认添加-a时,可以使用此功能。 暂无评论(声望低于50(:)