@Lex-0
Вызвать JS-код: в Браузере
[[PAGE_HTML]] = document.documentElement.outerHTML;
Есть еще более сложный навайбкоденый варинт с загрузкой html в iframe и последующей конкатенацией:
(async () => {
function getAllFrames(win) {
const frames = [];
function recurse(w) {
frames.push(w);
for (let i = 0; i < w.frames.length; i++) {
try {
recurse(w.frames[i]);
} catch (e) {
console.warn("CORS iframe недоступен:", e);
}
}
}
recurse(win);
return frames;
}
const frameHtmls = [];
const frames = getAllFrames(window);
for (const frame of frames) {
try {
const doc = frame.document;
const html = `<!-- iframe: ${frame.location.href} -->\n` + doc.documentElement.outerHTML;
frameHtmls.push(html);
} catch (e) {
frameHtmls.push(`<!-- iframe с origin ${frame.location?.href || 'неизвестен'} недоступен по причине CORS -->`);
}
}
// В этой переменной будет весь HTML как строка
[[PAGE_HTML]] = frameHtmls.join("\n\n<!-- --- END FRAME --- -->\n\n");
})();