1

私はこのコードを使用しています:

HttpWebResponse objHttpWebResponse = (HttpWebResponse)objHttpWebRequest.GetResponse();
return new StreamReader(objHttpWebResponse.GetResponseStream()).ReadToEnd();

ページコンテンツを正常に取得しましたが、私の問題は、ページ上のJavaScript関数によって取り込まれた動的コンテンツがいくつかあり、それらの関数の実行が完了する前にコンテンツがフェッチされたように見えるため、ページのそれらの部分が取り込まれずに返されることですデータを使用して、この「すべてのコンテンツを含めて完全にロードされるまでページを待つ」を解決する方法はありますか?

編集:

「@ElDog」の回答について、次のコードを試しましたが、うまくいきませんでした:

        WebBrowser objWebBrowser = new WebBrowser();
        objWebBrowser.DocumentCompleted += objWebBrowser_DocumentCompleted;
        objWebBrowser.Navigate(url);

ドキュメント完了イベントで、次のコードを実行しました。

string content = ((WebBrowser)(sender)).Document.Body.InnerHtml;

しかし、それでも JavaScript 関数は実行されませんでした。

4

1 に答える 1

1

HttpWebRequest は Java スクリプトをまったく実行しません。Web ブラウザーが応答して取得するものを提供するだけです。Java スクリプトを実行するには、コードに Web ブラウザ エミュレーションが必要です。

于 2013-05-27T09:38:46.307 に答える