Obtenha HTML atual da página criada com solicitações AJAX

6

Então, estou usando o navegador Chrome / Chromium (coloquei o Firefox, se necessário).

Estou visualizando páginas da Web que são construídas "on the fly" com (presumivelmente) AJAX (pense em como você rola para baixo no Facebook e as coisas continuam aparecendo e aparecendo).

Gostaria de salvar o html dessa página depois que ele carregou um monte de coisas, mas isso não aparece no DOM das ferramentas do desenvolvedor do Chromium e clicar com o botão direito do mouse em Salvar salva apenas a página original. antes do material carregado com AJAX.

O que posso fazer?

    
por Richard 19.04.2012 / 06:04

2 respostas

2

Uma maneira de obter o código-fonte com todos os elementos carregados dinamicamente é por meio das Ferramentas do desenvolvedor do Google Chrome ( F12 ). Escolha a tag <HTML> no início da página e copie o elemento ( CTRL + C ). Isso também deve copiar todos os dados incluídos, carregados dinamicamente ou de outra forma para a área de transferência, e você poderá colá-los onde quiser.

Aqui está um gif mostrando o processo:

Adesvantagemóbviaéquevocêteráquebaixarmanualmentetodososarquivos(.js,.css,imagens)esalvá-los(dica:useaguia"sources" no Dev Tools) na mesma pasta como o arquivo HTML, se você quiser o site completo, ou alternativamente, modificar os links na fonte HTML como este, se você não se importa alguns dados sendo buscados a partir da web:

===ORIGINAL===

<img src="file.jpg">

===MODIFIED===

<img src="[url_of_website_that_you_want_to_save]/file.jpg">
    
por 24.03.2018 / 06:55
0

Bookmarklet

Aqui está outro método, muito mais fácil!

Salve o seguinte código JavScript como um bookmarklet e clique nele na página em que deseja visualizar a fonte gerada de:

javascript:(function(){ function htmlEscape(s){s=s.replace(/&/g,'&amp;');s=s.replace(/>/g,'&gt;');s=s.replace(/</g,'&lt;');return s;} x=window.open(); x.document.write('<pre>' + htmlEscape('<html>\n' + document.documentElement.innerHTML + '\n</html>')); x.document.close(); })();

Clique aqui para facilitar o processo! | JSFiddle

GIF:

    
por 24.03.2018 / 07:27