Get the html of the javascript-rendered page (afte

2019-03-08 10:54发布

I would like to be able to save the state of the html page after I've interacted with it.

Say I click a checkbox, or the javascript set the values of various elements.

How can I save the "javascript-rendered" page?

Thanks.

3条回答
我欲成王,谁敢阻挡
2楼-- · 2019-03-08 11:17

In Chrome (and apparently Firefox), there is a special copy() method that will copy the rendered content to the clipboard. Then you can do whatever you want by pasting it to your preferred text editor.

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

Console Example:

copy(document.body.innerHTML);

Note: I noticed Chrome reports undefined after the method is run, however, it seems to execute correctly and the right content is in the clipboard.

查看更多
爷、活的狠高调
3楼-- · 2019-03-08 11:23

That should do and will grab the ALL page not just the body

console.log(document.getElementsByTagName('html')[0].innerHTML);
查看更多
Evening l夕情丶
4楼-- · 2019-03-08 11:32

document.body.innerHTML will get you the HTML representation of the current document body.

That will not necessarily include all internal state of DOM objects because the HTML contains the initial default state of objects, not necessarily the state that they may have been changed to. The only way to guarantee you get all that state is to make a list of what state you want to save and actually programmatically get that state.

To answer the part of your question about saving it, you'll have to describe more about what problem you're really trying to solve.

查看更多
登录 后发表回答