2009-10-07 4 views
10

webbrowser library cung cấp cách thuận tiện để khởi chạy URL có cửa sổ trình duyệt thông qua phương thức webbrowser.open(). Nhiều loại trình duyệt có sẵn, nhưng có vẻ không phải là một cách rõ ràng để khởi động Internet Explorer khi chạy python trên cửa sổ.Mở Cửa sổ trình duyệt IE

WindowsDefault chỉ hoạt động nếu Internet Explorer được đặt làm trình duyệt mặc định, đây không phải là giả định tôi có thể thực hiện.

Có cách nào để khởi chạy URL một cách rõ ràng vào Internet Explorer mà không cần hoàn nguyên về các lệnh gọi API của Windows không?

+3

Có lý do nào bạn cần khởi chạy IE không? – voyager

+2

Trang tôi đang khởi chạy là một tệp html được tạo cục bộ bằng văn bản tại địa phương sử dụng đánh dấu khủng khiếp mà chỉ có IE mới có thể hiểu đúng. Đây sẽ là một kịch bản nội bộ, do đó, quyền tự chủ của người dùng không phải là một vấn đề. –

Trả lời

19

đang More thanh lịch:

import webbrowser 

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

Cách đơn giản nhất:

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

Hãy nhớ rằng các phiên bản không phải tiếng Anh của Windows giữ tên thư mục 'Program Files' khác nhau. 'Archivos de Programa', ví dụ như tiếng Tây Ban Nha. Thay vào đó, bạn nên sử dụng '% PROGRAMFILES%'. – voyager

4

Bạn luôn có thể làm điều gì đó như

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

Tôi tiếp tục nhận được 'Lỗi: không thể tìm thấy trình duyệt có thể chạy' – BritishSteel

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

Đây là những gì các module webrowser sử dụng trong nội bộ.

+0

Không hoạt động ở chế độ nền. Nó luôn mở trang. Tôi trong thực tế đã cố gắng làm ie.Visible = 0 vẫn không hoạt động. – Fooo

2

Nếu bạn có kế hoạch để sử dụng kịch bản trong hơn máy tính của bạn, hãy nhớ rằng không phải ai cũng có một phiên bản tiếng Anh của Windows

import subprocess 
import os 

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

Hãy thử đặt đường dẫn tuyệt đối của tập tin exe internet explorer trong mã của bạn.

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