【解決方法】JavaScript と ajax の呼び出し後に HTML ソース コードを取得する

プログラミングQA


やあ、

ブラウザー (YouTube など) の Web ページのソース コードと、以下のコードから取得したソース コードを比較すると、違いがあります。 ソースコードは同じではなく、DOM 操作が原因であると思われます。

<br />
var webGet = new HtmlWeb();<br />
HtmlAgilityPack.HtmlDocument document = webGet.Load(_url);<br />

javascript や ajax をプログラムで (C# を使用して) 操作した後に、HTML ソース コードを取得することは可能ですか?

前もって感謝します!

解決策 1

はいといいえ。 これらの DOM 操作は、ドキュメントが HTTP サーバーから既に配信された後、純粋にクライアント側で行われます。 HttpWebResponse. したがって、サーバーから HTML ファイルのみをダウンロードする場合 ( HttpWebRequest) DOM が操作される前の状態のドキュメントしか取得できません。

それで、あなたは何ができますか? これらの操作はすべて、Web ブラウザーと同様にクライアント側で再現できます。 この目的のために、次を使用して Web ページに移動できます。 System.Windows.Forms.WebBrowser. このクラスのインスタンスを使用して、DOM を自分で操作することもできます。 見る System.Windows.Forms.WebBrowser.DocumentSystem.Windows.Forms.WebBrowser.DocumentText、 そのイベント System.Windows.Forms.WebBrowser.NavigatedSystem.Windows.Forms.WebBrowser.DocumentCompletedhttp://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx[^].

-SA

コメント

タイトルとURLをコピーしました