【问题标题】:webbrowser python open new url in same tab. Does this ever work?webbrowser python 在同一选项卡中打开新网址。这有用吗?
【发布时间】:2017-08-27 18:48:48
【问题描述】:

在我看来,Python 的 webbrowser 'new=0' 功能 (see here) 无法在同一个选项卡或窗口中打开一个新的 url。

文档使用诸如“如果可能”之类的狡猾语言来掩盖此问题。

有没有人在 webbrowser 模块中看到此功能的成功?是否有任何已知的解决方法来实现此功能?


我已尝试使用

设置网络浏览器
webbrowser.get(TYPE)

在继续打开网址之前。我也尝试过使用许多不同的浏览器,但仍然没有成功。这不再可能了吗?我应该只使用 selenium 吗?


除其他外,我查看了 7 年前的 this 帖子。我希望从那时起事情已经发生了变化,人们已经找到了解决这个问题的方法。

非常感谢任何帮助或见解。

【问题讨论】:

  • 您能找到解决此问题的方法吗?
  • @causita 不,对不起。我只是重写了我在 Javascript 中的内容

标签: python url web browser


【解决方案1】:

我在使用 MacOS 和 Chrome 时遇到了这个问题。我注意到对于 MacOS,webbrowser.py 只是构建了一个小苹果脚本并使用“打开位置”命令打开 URL,例如,

script = 'open location "%s"' % url.replace('"', '%22') 

内置的“打开位置”命令似乎不支持在现有选项卡中打开网址

我在 applescript 示例中四处搜索,发现您可以使用 Chrome applescript 字典中的命令在活动选项卡中打开 URL,如下所示:

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')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 1970-01-01
    • 2013-04-07
    • 2017-01-05
    • 1970-01-01
    相关资源
    最近更新 更多