2009-10-07 7 views
10

webbrowser libraryは、ブラウザウィンドウでwebbrowser.open()メソッドを使用してURLを起動する便利な方法を提供します。数多くのブラウザタイプがありますが、Windows上でPythonを実行しているときにInternet Explorerを起動する明示的な方法はありません。IEブラウザウィンドウを開く

WindowsDefaultは、Internet Explorerが既定のブラウザとして設定されている場合にのみ動作します。これは私が行うことができる想定ではありません。

Windows API呼び出しに戻さずにInternet ExplorerにURLを明示的に起動する方法はありますか?

+3

IEを起動する必要がありますか? – voyager

+2

私が立ち上げようとしているページは、IEだけが正しく理解できる恐ろしいマークアップを使用するローカルms-office生成HTMLファイルです。これは内部スクリプトなので、ユーザーの自律性は問題になりません。 –

答えて

19

よりエレガントコード:

import webbrowser 

ie = webbrowser.get(webbrowser.iexplore) 
ie.open('google.com') 
3

最も簡単な方法:

import subprocess 
subprocess.Popen(r'"C:\Program Files\Internet Explorer\IEXPLORE.EXE" www.google.com') 
+6

英語以外のバージョンのWindowsでは、 'Program Files'フォルダの名前が異なっていることに注意してください。 Archivos de Programa、例えばスペイン語で。代わりに '%PROGRAMFILES%'を使用してください。 – voyager

4

あなたはいつもこれがwebrowserモジュールが内部で使用するものです

subprocess.Popen('"C:\\Program Files\\Internet Explorer\\iexplore.exe" http://www.example.com') 
14
>>> ie = webbrowser.get('c:\\program files\\internet explorer\\iexplore.exe') 
>>> ie.open('http://google.com') 
True 
+0

「エラー:実行可能なブラウザが見つかりません」 – BritishSteel

7
iexplore = os.path.join(os.environ.get("PROGRAMFILES", "C:\\Program Files"), 
    "Internet Explorer\\IEXPLORE.EXE") 
ie = webbrowser.BackgroundBrowser(iexplore) 
ie.open(...) 

ような何かを行うことができます。あなたがあなたのマシンよりも多くのスクリプトを使用する予定の場合

+0

バックグラウンドで動作しません。常にページを開きます。私は実際にie.Visible = 0を実行しようとしてもまだ動作しません。 – Fooo

2

は、誰もがWindowsの

の英語版を持っている心に留めておく
import subprocess 
import os 

subprocess.Popen(r'"' + os.environ["PROGRAMFILES"] + '\Internet Explorer\IEXPLORE.EXE" www.google.com') 
1

入れてみてください。あなたのコード内のインターネットエクスプローラexeファイルの絶対パス。

ie=webbrowser.get("C:\Program Files\Internet Explorer\iexplore.exe") 
ie.open_new("http://google.com") 
関連する問題