13.8. webbrowser — 显示网页

未匹配的标注

目的: 使用 webbrowser 模块将网页呈现给用户。

webbrowser 模块中包含了在交互式浏览器中用于打开 URL 的一系列函数。该模块包含了可用浏览器的注册列表,避免系统上有多个可选的浏览器。同时它也可以通过指定浏览器的环境变量 BROWSER 来运行。

以下是一个简单的例子:

为了在浏览器中打开一个页面,我们会用到 open() 函数。

webbrowser_open.py

import webbrowser

webbrowser.open(
    'https://docs.python.org/3/library/webbrowser.html'
)

以上 URL 在浏览器窗口中打开,同时该窗口被提升到窗口栈中的最上方。模块文档说明,如果可能的话,现存的窗口将被重用,但具体情况应取决于浏览器的配置。在 Mac OS X 上使用 Firefox 浏览器时,以上的代码将创建一个新的窗口。

窗口 vs. 标签页

如果你需要的是新的窗口,请使用 open_new()

webbrowser_open_new.py

import webbrowser

webbrowser.open_new(
    'https://docs.python.org/3/library/webbrowser.html'
)

如果你需要的是一个标签页,那么请使用 open_new_tab() 。

使用特定的浏览器

如果因为某些原因你需要使用特定的浏览器,你可以用 get() 函数来获取注册浏览器的控制器。浏览器控制器同样拥有  open()open_new() 和 open_new_tab() 方法。下面的例子强制使用 lynx 浏览器:

webbrowser_get.py

import webbrowser

b = webbrowser.get('lynx')
b.open('https://docs.python.org/3/library/webbrowser.html')

关于可用的浏览器类型列表请参考模块文档。

BROWSER 变量

用户可以尝试通过将环境变量 BROWSER 设定为浏览器名称或命令从应用外部来控制模块行为 。该变量的值应为一系列以 os.pathsep 隔开的浏览器名称。如果名称包含 %s ,那么该名称将被当做一个命令被直接执行,其中 %s 被替换为 URL 。否则,名称被传递给 get() 函数,从注册列表中获取一个控制器对象。

例如,假定以下命令是可用的,那么它将在 lynx 中打开一个网页,不管是否还注册有其他浏览器。

$ BROWSER=lynx python3 webbrowser_open.py

如果 BROWSER 变量指定的命令没一个能用的,那么 webbrowser 退回为采用默认行为。

交互命令行

与使用 Python 程序一样, webbrowser 模块的所有功能都可以通过命令行执行。

$ python3 -m webbrowser

Usage: .../lib/python3.6/webbrowser.py [-n | -t] url
    -n: open new window
    -t: open new tab

请参考

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/pymotw/webbrows...

译文地址:https://learnku.com/docs/pymotw/webbrows...

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~