0

URL を指定して、JavaScript が実行された後に Web ページのソースを取得する方法を探しています。例えば:

の Web ページがあります。ページの読み込み時に、一部の JavaScript が div に入力します。ブラウザーを介してページのソースを表示しても、div 内にある情報は得られません。

私の知る限り、ブラウザがページをレンダリングするには、div が (X|D)HTML で満たされている必要があります。これは、レンダリング後のページのソースがまだネストされたマークアップであることを意味するため、理論的には存在する必要があります。ページソースの「最終」バージョンになります。

WebKit や Gecko などのレンダリング エンジンを使用して、何らかの方法でこれを行うように調整することを検討しましたが、これはかなり大きなタスクであり、既に行われたものを複製したくありません。このタスクを実行する方法を知っている人はいますか。

よろしく。

更新: Selenium (受け入れられた回答へのコメントに記載されているように) を使用して、これを複数のページで自動的に行うことを目指しています。私のプロジェクトは Web スパイダーであり、設計上、目的のコンテンツが JavaScript によってすべて取り込まれるまで利用できない多数のページをターゲットにする必要があります。

4

2 に答える 2

1

WebDev ツールバーFirebugなどの Firefox のアドオンには、「生成されたソースを表示」などのオプションがあります。

タイミングに関する限り、あなたが持っている唯一のオプションは、javascript コードのスニペットを持つことです。ページの読み込み時にできるだけ早く開始時間を設定し、ページが完了したとき (dom-ready またはページが完全にダウンロードされたとき) を再度確認することができます。ただし、非常に変動しやすく、速度を改善するために時間を計ろうとしている場合 (これは知っておくとよいことであり、実行することは良いことです) - Firebug + Yslowを取得するだけではるかに便利になります。

于 2009-06-02T17:58:34.700 に答える
0

Firefox 内では、ブラウザーがレンダリングを終了するのを待ってから、ctrl-A を押してページ上のすべてのコンテンツを選択し、最後に右クリック メニューから [選択ソースを表示] を選択することで、最終的にレンダリングされた DIV を取得できます。

これにより、ページの操作/入力された DOM コードが表示されます。

于 2009-06-02T17:51:54.133 に答える