0
我在我的項目中使用WPF webbrowser,並試圖捕獲頁面的HTML。下面是同一從WPF瀏覽器控件加載動態HTML
private void Window_Loaded(object sender, RoutedEventArgs e)
{
webBrowser.Navigate("https://www.uptodate.com/contents/lassa-fever/print");
}
private void webBrowser_LoadCompleted(object sender, NavigationEventArgs e)
{
dynamic doc = webBrowser.Document;
var htmlText = doc.documentElement.InnerHtml;
MessageBox.Show(htmlText);
}
現在的問題代碼在這裏是: MessageBox的正確顯示頁面的內容,但如果我指的htmlText的價值在我的代碼並不顯示全部內容,但它顯示只有靜態添加的HTML內容不包括使用JavaScript插入的內容。
我在這裏觀察到的最奇怪的事情是htmlText爲不同的可視化器顯示不同的輸出,即當使用文本可視化器查看htmlText時,它只顯示頁面的靜態內容,但是當它使用HTML可視化器查看時,它顯示所有預期內容,包括HTML使用JavaScript加載。
感謝您的反饋我都嘗試的方法它沒有工作。 你的第一種方法中的Code變量和第二種中的renderedHtml的行爲方式與我的代碼 的方式相同,即正確顯示頁面的內容,但如果我在我的代碼中引用htmlText的值,它不顯示整個內容,但它只顯示已添加靜態內容但不包含使用javascript插入的內容的HTML內容 –
您可以嘗試1件事,在「webBrowser_LoadCompleted」內使用5秒鐘內的定時器控件,並將代碼寫入其中,並將其寫入定時器函數中。手段給它幾秒鐘加載完整的HTML。 –