Python webbrowser.open()-将new = 0设置为在同一浏览器窗口中打开不起作用

gol*_*her 5 python

给出以下python代码:

import webbrowser
webbrowser.open("http://slashdot.org",new=0)
webbrowser.open("http://cnn.com",new=0)
Run Code Online (Sandbox Code Playgroud)

我希望打开浏览器,加载第一个网站,然后在同一窗口中加载第二个网站。但是,它会在新窗口(或新选项卡,取决于我使用的浏览器)中打开。

在装有Safari,Firefox和Chrome的Mac OSX上以及在Firefox的Ubuntue上进行过尝试。我倾向于认为new = 0不兑现。我只是想念什么吗?

tia,

Mic*_*ene 5

请注意,如果可能,文档特别避免使用语言保证:http : //docs.python.org/library/webbrowser.html#webbrowser.open

大多数浏览器设置默认指定选项卡行为并且不允许 Python 覆盖它。我过去曾使用 Firefox 看过它,并在 Chrome 上尝试过您的示例,效果相同。

在 Windows 上,根本不可能指定选项卡行为,正如我下面的评论所建议的那样。网址打开代码忽略new

if sys.platform[:3] == "win":
    class WindowsDefault(BaseBrowser):
        def open(self, url, new=0, autoraise=True):
            try:
                os.startfile(url)
Run Code Online (Sandbox Code Playgroud)