Вопрос Получить текущий HTML-код, созданный с помощью запросов AJAX


Итак, я использую браузер Chrome / Chromium (при необходимости он может использовать Firefox).

Я просматриваю веб-страницы, которые построены «на лету» с (предположительно) AJAX (подумайте, как вы прокрутите вниз по Facebook, и все просто появляется и появляется).

Я хотел бы сохранить html для такой страницы после того, как она загрузила кучу вещей, но это не отображается в DOM инструментов разработчика Chromium и правой кнопкой мыши, чтобы сохранить только сохранение исходной страницы, до загрузки AJAX вещи.

Что я могу сделать?


5
2018-04-19 04:04


происхождения


stackoverflow.com/questions/1750865/... - erikxiv
Может быть странно. Мой Chrome показывает загруженный контент ajax на локально сохраненной странице .html. - iAnuj


ответы:


Один из способов получить исходный код со всеми динамически загруженными элементами - через инструменты разработчика Chrome (F12). Выбрать <HTML> тег в самом начале страницы и скопировать элемент (CTRL + С). Это также должно скопировать все вложенные данные, динамически загруженные или иным образом в ваш буфер обмена, и затем вы можете вставить их туда, где хотите.

Вот gif, показывающий процесс:

Process

Очевидным недостатком является то, что вам придется вручную загружать любые файлы (.js, .css, изображения) и сохраните их (подсказка: используйте вкладку «Источники» в Dev Tools) в той же папке, что и файл html, если вы хотите, чтобы полный веб-сайт, или, альтернативно, изменил ссылки в источнике HTML, как это, если вы Не помните, что некоторые данные извлекаются из Интернета:

===ORIGINAL===

<img src="file.jpg">

===MODIFIED===

<img src="[url_of_website_that_you_want_to_save]/file.jpg">

1
2018-03-24 05:55



В firefox команда «Копировать - Внутренний HTML» - Richie Frame


Bookmarklet

Вот еще один способ, намного проще!

Сохраните следующий код JavScript как букмарклет, и щелкните по нему на странице, которую вы хотите просмотреть сгенерированный источник:

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(); })();

Нажмите здесь, чтобы упростить процесс! | JSFiddle

GIF: rahuldottech!


0
2018-03-24 06:27