我正在编写一个从 URL 获取内容的软件。在处理该问题时,我遇到了在 java 脚本完成后我无法准确获取 HTML 内容的问题。有些网站通过 java-script 呈现 HTML,有些不支持不运行 js 的浏览器。
我尝试使用System.Windows.Controls.WebBrowser
with WebBrowser.Document
inLoadCompleted
但没有运气。
之后,我尝试了 OpenWebkitSharp 库。在 UI 上,它正确地显示了网站的内容,但是使用 中的代码Document
,DocumentCompleted
它仍然返回不是由 java-script 呈现的内容。这是我的代码:
...
using WebKit;
using WebKit.Interop;
public MainWindow()
{
windowFormHost = new System.Windows.Forms.Integration.WindowsFormsHost();
webBrowser = new WebKit.WebKitBrowser();
webBrowser.AllowDownloads = false;
windowFormHost.Child = webBrowser;
grdBrowserHost.Children.Add(windowFormHost);
webBrowser.Load += WebBrowser_Load;
}
private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var contentHtml = ((WebKitBrowser)sender).DocumentAsHTMLDocument;
}
contentHtml 具有在 java 脚本完成后未呈现的值。