webbrowser

源代码: Lib / webbrowser.py

webbrowser模块提供了一个高级界面,允许向用户显示基于Web的文档。在大多数情况下,只需open()从该模块调用该函数就可以做正确的事情。

在Unix下,图形浏览器在X11下更受欢迎,但如果图形浏览器不可用或X11显示器不可用,则将使用文本模式浏览器。如果使用文本模式浏览器,则调用进程将阻塞,直到用户退出浏览器。

如果环境变量BROWSER存在,它将被解释为覆盖平台默认的浏览器列表,作为os.pathsep按顺序尝试的浏览器列表。当列表部分的值包含字符串时%s,它将被解释为一个文字浏览器命令行,用于替换参数URL %s; 如果该部分不包含%s,则将其简单解释为要启动的浏览器的名称。[1]

对于非Unix平台,或者当Unix上有远程浏览器时,控制过程不会等待用户完成浏览器,但允许远程浏览器在显示器上维护自己的窗口。如果远程浏览器在Unix上不可用,控制过程将启动一个新的浏览器并等待。

脚本webbrowser可以用作模块的命令行界面。它接受一个URL作为参数。它接受以下可选参数:-n如果可能,在新的浏览器窗口中打开URL; -t在新的浏览器页面(“标签”)中打开该URL。这些选项自然是相互排斥的。用法示例:

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

以下例外被定义:

exception webbrowser.Error

发生浏览器控制错误时引发异常。

定义了以下功能:

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

使用默认浏览器显示网址。如果new为0,则尽可能在相同的浏览器窗口中打开该URL。如果值为1,则尽可能打开新的浏览器窗口。如果值为2,则尽可能打开新的浏览器页面(“选项卡”)。如果autoraiseTrue,窗口如有可能提高(注意,在许多窗口管理器,这将无论发生此变量的设置)。

请注意,在某些平台上,尝试使用此功能打开文件名可能会起作用并启动操作系统的关联程序。但是,这既不支持也不便携。

在版本2.5中更改:现在可以是2。

webbrowser.open_new(url)

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

webbrowser.open_new_tab(url)

如果可能,在默认浏览器的新页面(“选项卡”)中打开url,否则相当于open_new()

2.5版本中的新功能。

webbrowser.get([name])

返回浏览器类型名称的控制器对象。如果名称为空,则返回适合调用方环境的默认浏览器的控制器。

webbrowser.register(name, constructor[, instance])

注册浏览器类型名称。一旦浏览器类型被注册,该get()功能可以返回该浏览器类型的控制器。如果情况不提供,或者是None构造函数将被称为不带参数需要时创建一个实例。如果提供了实例构造函数将永远不会被调用,并且可能是None

这个入口点只在你打算设置BROWSER变量或调用get()一个非空参数来匹配你声明的处理程序的名字时才有用。

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

类型名称

类名称

笔记

“Mozilla公司

Mozilla的( '的Mozilla')

“火狐”

Mozilla的( '的Mozilla')

“网景”

Mozilla的( '网景')

'Galeon的'

galeon的( 'galeon的')

“顿悟”

galeon的( '顿悟')

“船舶音”

BackgroundBrowser( 'skipstone浏览')

“通话”

Konqueror()

(1)

'Konqueror的'

Konqueror()

(1)

'KFM'

Konqueror()

(1)

'镶嵌'

BackgroundBrowser( '镶嵌')

'歌剧'

歌剧()

“圣杯”

圣杯()

'链接'

通用浏览器(“左”)

'elinks'

Elinks( 'elinks')

“山猫”

GenericBrowser( '山猫')

'w3m的'

GenericBrowser( '的w3m')

“Windows的默认”

WindowsDefault

(2)

'MacOSX的'

MacOSX的( '默认')

(3)

'苹果浏览器'

MacOSX的( '狩猎')

(3)

'谷歌浏览器'

铬(“谷歌铬”)

(4)

'铬'

铬(“铬”)

(4)

'铬'

铬(“铬”)

(4)

“铬浏览器”

铬(“铬浏览器”)

(4)

注释:

  • “Konqueror”是Unix的KDE桌面环境的文件管理器,只有在KDE运行时才有意义。可靠地检测KDE的一些方法会很好; 该KDEDIR变量是不够的。还要注意,即使在KDE 2中使用konqueror命令时也使用名称“kfm” - 实施选择运行Konqueror的最佳策略。
  • 仅在Windows平台上。
  • 仅限于Mac OS X平台。
  • 在版本2.7.5中添加了对Chrome / Chromium的支持。

这里有一些简单的例子:

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

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

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

1.浏览器控制器对象

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

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

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

controller.open_new(url)

打开网址在此控制器,处理可能的话,浏览器的一个新窗口,否则,打开URL中唯一的浏览器窗口。别名open_new()

controller.open_new_tab(url)

如果可能,在由该控制器处理的浏览器的新页面(“选项卡”)中打开url,否则相当于open_new()

2.5版本中的新功能。

1

这里命名的没有完整路径的可执行文件将在PATH环境变量中给出的目录中进行搜索。

扫码关注云+社区

领取腾讯云代金券