webbrowser 浏览器操作库

webbrowser 模块提供了一个可以向用户展示 Web 文档的高级接口。在绝大多数情况下,使用本模块的 open() 函数即可。

脚本 webbrowser 可以用作命令行接口。它接受 URL 作为参数。它也接受如下可选参数:-n 如果可以,在新浏览器窗口打开 URL; -t 在浏览器新标签页(TAB)打开 URL。当然,这两个选项是互斥的,不可共存。用法示例︰

python -m webbrowser -t "http://www.python.org"

异常定义:

exception webbrowser.Error  浏览器控制引发的异常。

可用函数:

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

调用默认浏览器打开 url 。如果 new 参数为 0,将尽可能在同一个浏览器窗口打开 url。如果 new 参数为1,将使用新的浏览器窗口打开指定 url。如果 new 参数为 2,则使用新浏览器标签页(TAB)打开。如果 autoraise 是 True,则窗口会被调用(请注意,在许多窗口管理器下,不管此变量的设置如何)。

请注意,在某些平台上,尝试使用此函数打开文件名,可能会工作并启动操作系统的关联程序。

webbrowser.open_new(url)

如果可能,在默认浏览器的新窗口中打开 url,否则,在唯一的浏览器窗口中打开 url。

webbrowser.open_new_tab(url)

如果可能,在默认浏览器的新页面(“标签”)中打开 url,否则等效于 open_new()

webbrowser.get(using=None)

使用返回浏览器类型的控制器对象。如果使用为 None,则返回适用于调用方环境的默认浏览器的控制器。

webbrowser 预定义了多种浏览器类型。该表给出可以传递到 get() 函数的类型名称以及控制器类的对应实例化,这些都在本模块中定义。

类型名称

类名称

‘mozilla’

Mozilla(‘mozilla’)

‘firefox’

Mozilla(‘mozilla’)

‘netscape’

Mozilla(‘netscape’)

‘galeon’

Galeon(‘galeon’)

‘epiphany’

Galeon(‘epiphany’)

‘skipstone’

BackgroundBrowser(‘skipstone’)

‘kfmclient’

Konqueror()

‘konqueror’

Konqueror()

‘kfm’

Konqueror()

‘mosaic’

BackgroundBrowser(‘mosaic’)

‘opera’

Opera()

‘grail’

Grail()

‘links’

GenericBrowser(‘links’)

‘elinks’

Elinks(‘elinks’)

‘lynx’

GenericBrowser(‘lynx’)

‘w3m’

GenericBrowser(‘w3m’)

‘windows-default’

WindowsDefault

‘macosx’

MacOSX(‘default’)

‘safari’

MacOSX(‘safari’)

‘google-chrome’

Chrome(‘google-chrome’)

‘chrome’

Chrome(‘chrome’)

‘chromium’

Chromium(‘chromium’)

‘chromium-browser’

Chromium(‘chromium-browser’)

webbrowser.register(name, constructor, instance=None)

注册浏览器类型名称。一旦注册了浏览器类型,get() 函数可以返回该浏览器类型的控制器。如果未提供实例或者 None,则会调用构造函数,而无需创建实例。如果提供实例,则构造函数将永远不被调用,并且可以是 None。

此入口点仅在计划设置 BROWSER 变量或调用 get() 时使用非空参数匹配处理程序。

这里有一些简单的例子:

url = 'http://docs.python.org/'

# Open URL in a new tab, if a browser window is already open.
webbrowser.open_new_tab(url)

# Open URL in new window, raising the window if possible.
webbrowser.open_new(url)

浏览器控制器对象

浏览器控制器提供了这些方法,它们并行了三个模块级的便利功能:

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

使用此控制器处理的浏览器显示 url。如果 new 为 1,则尽可能打开新的浏览器窗口。如果 new 为 2,则尽可能打开新的浏览器页面(“选项卡”)。

controller.open_new(url)

如果可能,在此控制器处理的浏览器的新窗口中打开 url,否则在唯一的浏览器窗口中打开 url。别名 open_new()。

controller.open_new_tab(url)

如果可能,在此控制器处理的浏览器的新页面(“标签”)中打开 url,否则等效于 open_new()。