var html = await page.content();
很好,所以我可以使用fs.writeFileSync()
将其保存到文件中。
问题是,像®
这样的特殊 HTML 字符被保存为转换(我想是 UTF-8......可能取决于页面(。
如何使用原始 HTML 编码保存该代码?
我也尝试从 evaluate(( 中resolve( document.documentElement.outerHTML )
,但当然这是page.content()
内部使用的,所以它也被编码了。
注意:我使用 evaluate(( 对各种元素进行了一些修改,所以我不能只是从服务器再次获取数据,我需要当前页面。
谢谢!
索引.html ↓
<!DOCTYPE html>
<body>
®®
</body>
</html>
索引.js ↓
(async () => {
const puppeteer = require('puppeteer-core');
const browser = await puppeteer.launch({
headless: true,
executablePath: 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe',
args: ['--disable-features=IsolateOrigins,site-per-process']
});
const [page] = await browser.pages();
const response = await page.goto('file://index.html');
const data = await response.buffer();
const html = data.toString('utf8');
console.log(html);
/*
<!DOCTYPE html>
<body>
®®
</body>
</html>
*/
})();