给出以下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,
请注意,如果可能,文档特别避免使用语言保证: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)