Lam*_*mar 5 python browser url web
在我看来,Python的webbrowser'new = 0'功能(请参阅此处)在同一选项卡或窗口中打开新的url永远无法正常工作。
该文档使用诸如“ 如果可能 ”之类的狡猾语言来掩盖此问题。
有人在webbrowser模块中看到此功能成功吗?是否有已知的解决方法来实现此功能?
我尝试用设置浏览器
webbrowser.get(TYPE)
Run Code Online (Sandbox Code Playgroud)
在继续打开网址之前。我也尝试过使用各种不同的浏览器,但是仍然没有成功。难道这不可能了吗?我应该只使用硒吗?
除其他外,我已经检查了7年前的这篇文章。我希望此后一切都发生变化,人们已经找到了解决之道。
非常感谢您的帮助或见解。
小智 1
我正在使用 MacOS 和 Chrome,并遇到了这个问题。我注意到,对于 MacOS,webbrowser.py 只是构建了一个小 applescript 并使用“打开位置”命令打开 URL,例如,
script = 'open location "%s"' % url.replace('"', '%22')
Run Code Online (Sandbox Code Playgroud)
内置“打开位置”命令似乎不支持在现有选项卡中打开网址
我在 applescript 示例中进行了搜索,发现您可以使用 Chrome applescript 字典中的命令在活动选项卡中打开 URL,如下所示:
tell application "Google Chrome"
tell front window
set URL of active tab to "www.google.com"
end tell
end tell
Run Code Online (Sandbox Code Playgroud)
我只需要在本地项目上执行此操作,因此我只是进行了覆盖“script”变量中的字符串的肮脏修复,以强制它使用后一种格式,如下所示:
# 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')
Run Code Online (Sandbox Code Playgroud)