web-dev-qa-db-ja.com

javascriptでレンダリングされたページのhtmlを取得します(それと対話した後)

対話した後、htmlページの状態を保存できるようにしたいと思います。

チェックボックスをクリックするか、JavaScriptがさまざまな要素の値を設定するとします。

「javascript-rendered」ページを保存するにはどうすればよいですか?

ありがとう。

29
user420667

これで、本文だけでなくすべてのページが取得されます。

console.log(document.getElementsByTagName('html')[0].innerHTML);
17
GillesC

Chrome(そして明らかにFirefox))には、レンダリングされたコンテンツをクリップボードにコピーする特別なcopy()メソッドがあります。その後、好みのテキストエディターに貼り付けることで、好きなことを行えます。

https://developers.google.com/chrome-developer-tools/docs/commandline-api#copyobject

コンソールの例:

copy(document.body.innerHTML);

注:Chromeレポートがメソッドの実行後に未定義であると報告しましたが、正しく実行されているようで、適切なコンテンツがクリップボードにあります。

31
Grant

document.body.innerHTMLは、現在のドキュメント本文のHTML表現を取得します。

HTMLにはオブジェクトの初期のデフォルト状態が含まれているため、必ずしもDOMオブジェクトのすべての内部状態が含まれるとは限りません。必ずしも、オブジェクトが変更された可能性のある状態であるとは限りません。すべての状態を確実に取得する唯一の方法は、保存する状態のリストを作成し、実際にプログラムでその状態を取得することです。

保存に関する質問の一部に答えるには、実際に解決しようとしている問題について詳しく説明する必要があります。

3
jfriend00