在我看来,Python的webbrowser'new = 0'功能(see here),在同一个标签或窗口中打开一个新的URL,并不起作用。
文档使用狡猾的语言,如“ if if possible”“来掩盖这个问题。
有没有人在webbrowser模块中看到过这项功能的成功?是否有任何已知的解决方法来实现此功能?
我尝试使用
设置webbrowserwebbrowser.get(TYPE)
继续打开网址之前。我也试过使用大量不同的浏览器,但仍然没有成功。这是不可能的吗?我应该只使用 selenium 吗?
其中,我已经查看了7年前的this帖子。我希望从那时起事情发生了变化,人们已经找到了解决方法。
非常感谢任何帮助或见解。
答案 0 :(得分:1)
我正在使用MacOS和Chrome并遇到了这个问题。我注意到对于MacOS,webbrowser.py只是构建了一个小苹果脚本并使用“开放位置”命令打开了URL,例如,
script = 'open location "%s"' % url.replace('"', '%22')
内置的“开放位置”命令似乎不支持在现有标签中打开网址
我在AppleScript示例中搜索过,发现您可以使用Chrome applescript字典中的命令在活动标签中打开网址,如下所示:
tell application "Google Chrome"
tell front window
set URL of active tab to "www.google.com"
end tell
end tell
我只需要在本地项目上执行此操作,因此我只是在“脚本”变量中使用覆盖字符串的脏修复来强制它使用后一种格式,如下所示:
# script = 'open location "%s"' % url.replace('"', '%22')
script = '''tell application "Google Chrome"
tell front window
set URL of active tab to "%s"
end tell
end tell ''' % url.replace('"', '%22')