【问题标题】:Opening a link produces an empty page打开链接会产生一个空白页面
【发布时间】:2017-05-12 04:54:11
【问题描述】:

我正在尝试以下方法:

import webbrowser
url = 'http://docs.python.org/'
webbrowser.open_new_tab(url)

结果是一个新的 window,它是空的(地址行中没有输入 url)。浏览器是在 Ubuntu 16.04 LTS 下运行的 Chrome(版本 53.0.2785.92,64 位)。 Python的版本是3.5.2。

我该如何解决这个问题?

【问题讨论】:

    标签: python google-chrome ubuntu-16.04 python-webbrowser


    【解决方案1】:

    尝试在您的浏览器窗口打开的情况下执行以下操作(更新:也尝试在没有打开浏览器窗口且浏览器设置设置为上次打开我的窗口和选项卡的情况下进行。这两项试验都使用 Chrome 和 Firefox 进行了测试)

    import webbrowser
    webbrowser.open("http://docs.python.org", new=2)
    

    来自文档

    webbrowser.open(url, new=0, autoraise=True)
    

    使用默认浏览器显示网址。如果 new 为 0,则尽可能在同一浏览器窗口中打开 url。如果 new 为 1,则尽可能打开一个新的浏览器窗口。如果 new 为 2,则尽可能打开一个新的浏览器页面(“选项卡”)。如果 autoraise 为 True,则尽可能提升窗口(请注意,在许多窗口管理器下,无论此变量的设置如何,都会发生这种情况)。

    Note that on some platforms, trying to open a filename using this function, may work and start the operating system’s associated program. However, this is neither supported nor portable.
    

    【讨论】:

    • 相同结果:新的空窗口。我意识到问题可能出在浏览器端,但不知道如何解决它......
    • 有趣的是,即使是 URL 也没有被推送到新的选项卡/窗口。尝试用 python 2 和 3 来做......似乎对我有用。我原以为这是 On Startup 设置,但不应将 url 推送到新窗口。我会继续研究
    • 你能用import webbrowserb = webbrowser.get('')b.open('http://docs.python.org/')试试吗
    • 我在调用webbrowser.get('') 时收到错误消息。 Python 3.5 给出关键错误,Python 2.7 给出索引超出范围错误File "/usr/lib/python2.7/webbrowser.py", line 84, in _synthesize cmd = browser.split()[0]
    【解决方案2】:

    首先,我试过了:

    >>> webbrowser.get('chrome')
    

    这不起作用。原因是 Chrome 的可执行文件是 /usr/bin/google-chrome!于是,我去了/usr/bin,在终端发出如下命令:

    sudo ln -s google-chrome chrome
    

    现在,这可行:

    >>> webbrowser.get('chrome').open_new_tab('http://www.python.org')
    

    附:我仍然想知道如何让webbrowser.get('') 工作。默认浏览器设置为Google-Chrome-Stable...

    【讨论】:

      猜你喜欢
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      • 2018-02-27
      • 1970-01-01
      • 2021-11-28
      • 2015-11-18
      相关资源
      最近更新 更多