URLからコンテンツを取得するソフトウェアを作成しています。それに取り組んでいるとき、私はJavaスクリプトが完成した後、HTMLコンテンツを正確に取得できないという問題にぶつかります。 HTMLをJavaスクリプトでレンダリングするWebサイトがありますが、jsを実行しないブラウザはサポートしていないものがあります。JavaScriptをOpen Webkit Sharpで終了した後の最終的なHTMLコンテンツを取得する
WebBrowser.Document
でSystem.Windows.Controls.WebBrowser
を使用してみましたが、LoadCompleted
では運がありませんでした。
その後、私はOpenWebkitSharpライブラリを試しました。 UIでは、Webサイトのコンテンツが正しく表示されますが、コードDocument
がDocumentCompleted
にある場合でも、java-scriptによって表示されないコンテンツが返されます。 contentHtmlは、Javaスクリプトが終了した後にレンダリングされていない値を持つ
...
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;
}
: はここに私のコードです。