webbrowser —便利なWebブラウザコントローラー—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/library/webbrowser
移動先:案内検索

webbrowser —便利なWebブラウザーコントローラー

ソースコード: :source: `Lib / webbrowser.py`



webbrowser モジュールは、Webベースのドキュメントをユーザーに表示できるようにするための高レベルのインターフェイスを提供します。 ほとんどの場合、このモジュールから open()関数を呼び出すだけで、正しいことが実行されます。

Unixでは、X11ではグラフィカルブラウザが推奨されますが、グラフィカルブラウザが使用できない場合、またはX11ディスプレイが使用できない場合は、テキストモードブラウザが使用されます。 テキストモードのブラウザが使用されている場合、ユーザーがブラウザを終了するまで、呼び出しプロセスはブロックされます。

環境変数 BROWSERが存在する場合は、 os.pathsep で区切られたブラウザーのリストとして解釈され、プラットフォームのデフォルトよりも先に試行されます。 リスト部分の値に文字列%sが含まれている場合、それは%sの代わりに引数URLで使用されるリテラルブラウザコマンドラインとして解釈されます。 パーツに%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)

デフォルトのブラウザを使用して url を表示します。 new が0の場合、可能であれば url が同じブラウザウィンドウで開かれます。 new が1の場合、可能であれば新しいブラウザウィンドウが開きます。 new が2の場合、可能であれば新しいブラウザページ(「タブ」)が開きます。 autoraiseTrueの場合、可能であればウィンドウが表示されます(多くのウィンドウマネージャーでは、この変数の設定に関係なく発生することに注意してください)。

一部のプラットフォームでは、この関数を使用してファイル名を開こうとすると、動作し、オペレーティングシステムの関連プログラムが起動する場合があることに注意してください。 ただし、これはサポートされておらず、移植もできません。

webbrowser.open_new(url)
可能であれば、デフォルトのブラウザの新しいウィンドウで url を開きます。それ以外の場合は、唯一のブラウザウィンドウで url を開きます。
webbrowser.open_new_tab(url)
可能であれば、デフォルトのブラウザの新しいページ(「タブ」)で url を開きます。それ以外の場合は、 open_new()と同等です。
webbrowser.get(using=None)
を使用してブラウザタイプのコントローラオブジェクトを返します。 usingNoneの場合、発信者の環境に適したデフォルトのブラウザ用のコントローラを返します。
webbrowser.register(name, constructor, instance=None, *, preferred=False)

ブラウザの種類 name を登録してください。 ブラウザの種類が登録されると、 get()関数はそのブラウザの種類のコントローラを返すことができます。 instance が指定されていない場合、またはNoneの場合、コンストラクターがパラメーターなしで呼び出され、必要に応じてインスタンスが作成されます。 インスタンスが指定されている場合、コンストラクターは呼び出されず、Noneになる可能性があります。

PreferredTrueに設定すると、このブラウザーは、引数なしの get()呼び出しの優先結果になります。 それ以外の場合、このエントリポイントは、 BROWSER変数を設定するか、ハンドラーの名前と一致する空でない引数を指定して get()を呼び出す場合にのみ役立ちます。宣言する。

バージョン3.7で変更: 優先キーワードのみのパラメーターが追加されました。

いくつかのブラウザタイプが事前定義されています。 この表は、 get()関数に渡される可能性のある型名と、すべてこのモジュールで定義されているコントローラークラスの対応するインスタンス化を示しています。

タイプ名 クラス名 ノート
'mozilla' Mozilla('mozilla')
'firefox' Mozilla('mozilla')
'netscape' Mozilla('netscape')
'galeon' Galeon('galeon')
'epiphany' Galeon('epiphany')
'skipstone' BackgroundBrowser('skipstone')
'kfmclient' Konqueror() (1)
'konqueror' Konqueror() (1)
'kfm' Konqueror() (1)
'mosaic' BackgroundBrowser('mosaic')
'opera' Opera()
'grail' Grail()
'links' GenericBrowser('links')
'elinks' Elinks('elinks')
'lynx' GenericBrowser('lynx')
'w3m' GenericBrowser('w3m')
'windows-default' WindowsDefault (2)
'macosx' MacOSX('default') (3)
'safari' MacOSX('safari') (3)
'google-chrome' Chrome('google-chrome')
'chrome' Chrome('chrome')
'chromium' Chromium('chromium')
'chromium-browser' Chromium('chromium-browser')

ノート:

  1. 「Konqueror」はUnix用のKDEデスクトップ環境用のファイルマネージャーであり、KDEが実行されている場合にのみ使用する意味があります。 KDEを確実に検出する何らかの方法があればいいでしょう。 KDEDIR変数では不十分です。 konqueror コマンドをKDE2で使用する場合でも、「kfm」という名前が使用されることにも注意してください。実装により、Konquerorを実行するための最適な戦略が選択されます。
  2. Windowsプラットフォームのみ。
  3. Mac OSXプラットフォームのみ。

バージョン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)

ブラウザコントローラオブジェクト

ブラウザコントローラーは、モジュールレベルの便利な機能の3つに対応する次のメソッドを提供します。

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()と同等です。

脚注

1
ここでフルパスなしで名前が付けられた実行可能ファイルは、 PATH環境変数で指定されたディレクトリで検索されます。