python3從零學習-5.10.1、webbrowser—方便的Web瀏覽器控制器

webbrowser 模塊提供了一個高級接口,允許向用戶顯示基於Web的文檔。 在大多數情況下,只需從該模塊調用 open() 函數就可以了。

在 Unix 下,圖形瀏覽器在 X11 下是首選,但如果圖形瀏覽器不可用或 X11 顯示不可用,則將使用文本模式瀏覽器。 如果使用文本模式瀏覽器,則調用進程將阻塞,直到用戶退出瀏覽器。

 

如果存在環境變量 BROWSER ,則將其解釋爲 os.pathsep 分隔的瀏覽器列表,以便在平臺默認值之前嘗試。 當列表部分的值包含字符串 %s 時,它被解釋爲一個文字瀏覽器命令行,用於替換 %s 的參數 URL ;如果該部分不包含 %s,則它只被解釋爲要啓動的瀏覽器的名稱。

 

對於非 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)

使用默認瀏覽器顯示 url。 如果 new 爲 0,則儘可能在同一瀏覽器窗口中打開 url。 如果 new 爲 1,則儘可能打開新的瀏覽器窗口。 如果 new 爲 2,則儘可能打開新的瀏覽器頁面(“標籤”)。 如果 autoraise 爲 “True”,則會盡可能置前窗口(請注意,在許多窗口管理器下,無論此變量的設置如何,都會置前窗口)。

 

請注意,在某些平臺上,嘗試使用此函數打開文件名,可能會起作用並啓動操作系統的關聯程序。 但是,這種方式不被支持也不可移植。

 

  • webbrowser.open_new(url)

如果可能,在默認瀏覽器的新窗口中打開 url,否則,在唯一的瀏覽器窗口中打開 url。

 

  • webbrowser.open_new_tab(url)

如果可能,在默認瀏覽器的新頁面(“標籤”)中打開 url,否則等效於 open_new()。

 

  • webbrowser.get(using=None)

返回瀏覽器類型爲 using 指定的控制器對象。 如果 using 爲 None,則返回適用於調用者環境的默認瀏覽器的控制器。

 

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

註冊 name 瀏覽器類型。 註冊瀏覽器類型後, get() 函數可以返回該瀏覽器類型的控制器。 如果沒有提供 instance,或者爲 None,constructor 將在沒有參數的情況下被調用,以在需要時創建實例。 如果提供了 instance,則永遠不會調用 constructor,並且可能是 None。

 

This entry point is only useful if you plan to either set the BROWSER variable or call get() with a nonempty argument matching the name of a handler you declare.

 

預定義了許多瀏覽器類型。 此表給出了可以傳遞給 get() 函數的類型名稱以及控制器類的相應實例化,這些都在此模塊中定義。

註釋:

“Konqueror” 是 Unix 的 KDE 桌面環境的文件管理器,只有在 KDE 運行時纔有意義。 一些可靠地檢測 KDE 的方法會很好;僅檢查 KDEDIR 變量是不夠的。 另請注意,KDE 2的 konqueror 命令,會使用名稱 “kfm”—此實現選擇運行的 Konqueror 的最佳策略。

僅限 Windows 平臺。

僅限 Mac OS X 平臺。

3.3 新版功能: 添加了對 Chrome/Chromium 的支持。

以下是一些簡單的例子:

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()。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章