2009-10-07 11 views
10

Urządzenie webbrowser library zapewnia wygodny sposób uruchamiania adresu URL za pomocą okna przeglądarki za pomocą metody webbrowser.open(). Liczne typy przeglądarek są dostępne, ale wydaje się, że nie ma wyraźnego sposobu uruchomienia Internet Explorera podczas uruchamiania Pythona w systemie Windows.Otwórz okno przeglądarki IE

WindowsDefault działa tylko wtedy, gdy Internet Explorer jest ustawiony jako przeglądarka domyślna, co nie jest założeniem, które mogę założyć.

Czy istnieje sposób, aby jawnie uruchomić adres URL w przeglądarce Internet Explorer bez konieczności powrotu do wywołań interfejsu API systemu Windows?

+3

Czy istnieje powód, dla którego należy uruchomić IE? – voyager

+2

Strona, którą uruchamiam, to lokalny plik html wygenerowany przez MS Office, który używa okropnego znacznika, który tylko IE może zrozumieć. Będzie to skrypt wewnętrzny, więc autonomia użytkownika nie stanowi problemu. –

Odpowiedz

19

bardziej elegancki kod:

import webbrowser 

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

Najprościej:

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

Należy pamiętać, że inne niż angielskie wersje systemu Windows zachowują inną nazwę w folderze 'Program Files'. 'Archivos de Programa', na przykład w języku hiszpańskim. Zamiast tego należy użyć "% PROGRAMFILES%". – voyager

4

Zawsze można coś zrobić jak

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

Ciągle pojawia się komunikat "Błąd: nie można znaleźć działającej przeglądarki" – BritishSteel

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

to właśnie moduł webrowser używa wewnętrznie.

+0

Nie działa w tle. Zawsze otwiera stronę. Właściwie próbowałem robić ie.Visible = 0 nadal nie działa. – Fooo

2

Jeśli zamierzasz użyć skryptu w ponad komputerze, należy pamiętać, że nie każdy ma angielskiej wersji systemu Windows

import subprocess 
import os 

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

Spróbuj oddanie absolutna ścieżka pliku exe przeglądarki internetowej w twoim kodzie.

ie=webbrowser.get("C:\Program Files\Internet Explorer\iexplore.exe") 
ie.open_new("http://google.com") 
Powiązane problemy