webbrowserモジュールにはウェブベースのドキュメントを表示するた めの、とてもハイレベルなインターフェースが定義されています。たいていの 環境では、このモジュールのopen()を呼び出すだけで正しく動作し ます。
Unixでは、X11上でグラフィカルなブラウザが選択されますが、グラフィカルなブ ラウザが利用できなかったり、X11が利用できない場合はテキストモードのブラウザ が使われます。 もしテキストモードのブラウザが使われたら、ユーザがブラウザから抜け出すまでプ ロセスの呼び出しはブロックされます。
環境変数BROWSERが存在するならプラットフォームのデフォ
ルトであるブラウザのリストをオーバーライドし、os.pathsepで区切られたリストの順に
ブラウザの起動を試みます。
リストの中の値に%s
が含まれていたら、テキストモードのブラウザのコマン
ドラインとして%s
の代わりにURLが引数として解釈されます;
もし%s
が含まれなければ、起動するブラウザの名前として単純に解釈されま
す。
非UnixプラットフォームあるいはUnix上でリモートブラウザが利用可能な場合、制 御プロセスはユーザがブラウザを終了するのを待ちませんが、ディスプレイにブラウ ザのウィンドウを表示させたままにします。Unix上でリモートブラウザが利用可能 でない場合、制御プロセスは新しいブラウザを立ち上げ、待ちます。
webbrowser スクリプトをこのモジュールのコマンドラインインタフェースとして 使うことができます。スクリプトは引数に一つの URL を受け付けます。また次のオプション 引数を受け付けます。 -n により可能ならば新しいブラウザウィンドウで 指定された URL を開きます。一方、-t では新しいブラウザのページ(「タブ」) で開きます。当然ながらこれらのオプションは排他的です。
以下の例外が定義されています:
以下の関数が定義されています:
url[, new=0[, autoraise=1]]) |
url) |
url) |
[name]) |
name, constructor[, instance]) |
None
なら、インスタンスが必要な時
にはconstructorがパラメータなしに呼び出されて作られます。
instanceが指定されたら、constructorは呼び出されないので、
None
でかまいません。
この登録は、変数BROWSERを設定するか、getを空文字列でな く、宣言したハンドラの名前と一致する引数とともに呼び出すときだけ、役に立ちま す。
いくつかの種類のブラウザがあらかじめ定義されています。 このモジュールで定義されている、関数get()に与えるブラウザの名前 と、それぞれのコントローラークラスのインスタンスを以下の表に示します。
Type Name | Class Name | Notes |
---|---|---|
'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) |
'internet-config' |
InternetConfig | (3) |
'macosx' |
MacOSX('default') | (4) |
Notes:
簡単な例を示します。
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)