webbrowser - Convenient Web-browser controller

webbrowser 可以在命令行使用

1
python -m webbrowser -t/-n URL
  • -t: 在浏览器的新页面(tab)上打开 URL
  • -n: 在浏览器的新的窗口打开 URL(if possible)。

例子:在浏览器打开 http://alizs.cc,在命令行输入:

1
python -m webbrowser -t 'http://alizs.cc'

  • webbrowser.open(url, new=0, autoraise=True)
    用系统默认的浏览器打开 url

  • webbrowser.get(using=None)
    通过 using 的值,返回浏览器控制器对象。默认返回系统默认浏览器控制器对象。比如,系统默认的浏览器是 Chrome,现在想要用系统上安装的 FIrefox 浏览器打开 http://alizs.cc

    1
    2
    firefox = webbrowser.get('firefox')
    firefox.open('http://alizs.cc')

    已经预定义的浏览器类型,可以通过 get() 方法来获取。如果系统存在该类型浏览器,则会返回相应的浏览器控制器对象。

Type Name Class Name
‘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)
    注册一个名为 name 的浏览器类型。注册成功之后,可以通过类型名 nameget() 该浏览器控制器对象。

    • name: 浏览器类型名称。
    • constructor: 可调用的对象名称,用来构建浏览器对象 instance。当 instance 不为 None 时,才有效。
    • instance: 浏览器对象。

      例一,用 constructor 来注册浏览器类型:

      1
      2
      3
      4
      5
      6
      7
      def custom_browser():
      browser_path = '/usr/bin/firefox'
      return webbrowser.BackgroundBrowser(browser_path)

      webbrowser.register('custom_browser', custom_browser)
      controller = webbrowser.get('custom_browser')
      controller.open('http://alizs.cc')

      例二,用 instance 来注册浏览器类型:

      1
      2
      3
      4
      5
      browser_path = '/usr/bin/firefox'
      custom_browser = webbrowser.BackgroundBrowser(browser_path)
      webbrowser.register('custom_browser', None, custom_browser)
      controller = webbrowser.get('custom_browser')
      controller.open('http://alizs.cc')