2012-04-02 67 views
8

Tôi đang nghe sự kiện LoadCompleted của webbrowser của WPF. Nó có một số đối số điều hướng cung cấp chi tiết về điều hướng. Tuy nhiên, e.Content luôn là null.Trình duyệt web WPF - tải xuống HTML?

Tôi có chú ý đến sự kiện sai ở đây không? Làm cách nào tôi có thể tìm nạp HTML vừa được tải xuống dưới dạng chuỗi?

Tôi đã thử some things which I would consider hacks, nhưng họ trả về một chuỗi HTML, mặc dù đó không phải là chuỗi được tải xuống. Ví dụ, với phương pháp đó khi tôi đi đến một trang mà chỉ cần gửi cho tôi chuỗi abc, tôi nhận được kết quả <document><body>abc</body></document> hoặc một cái gì đó tương tự.

Tôi không muốn tham gia vào bất kỳ cuộc tấn công nào nhiều hơn là cần thiết để chạy chương trình này.

Trả lời

17

Sự kiện này sẽ chỉ được kích hoạt cho các điều hướng cấp cao nhất, có thể là nguyên nhân của sự cố ban đầu của bạn.

Cách tiếp cận mà bạn đã đề cập không phải là hack, đó là API chính thức trả lại văn bản HTML (bao gồm tất cả các thẻ) của tài liệu đã tải xuống.

dynamic doc = webBrowser.Document; 
var htmlText = doc.documentElement.InnerHtml; 

Nếu bạn muốn nhận văn bản thuần tuý từ tài liệu HTML, có cách simple explanation cách thực hiện.

+0

Tôi đã gần như sẽ sử dụng WinForms WebBrowser trong một điều khiển WindowsFormsHost, chỉ vì nó cho thấy nhiều thuộc tính hơn, nhưng điều này làm việc độc đáo. –

+1

Tại sao trên trái đất họ đã quyết định đi với biến 'dynamic'? –

Các vấn đề liên quan