【发布时间】:2018-03-13 05:49:42
【问题描述】:
我有一个程序正在使用 PhantomJS onInitialized 方法来设置页面在首次加载时可以使用的窗口全局变量。我还没有找到用 puppeteer 做到这一点的方法。在创建页面之后但转到页面之前调用评估会重置变量。在 domcontentloaded 中这样做似乎为时已晚。
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.evaluate(pageParams => {
window.sharedConfig = 1; // Sets it but gets reset when the page loads
}, pageParams);
page.on('domcontentloaded', msg => {
page.evaluate(pageParams => {
window.sharedConfig = 2; // Sets it but it's too late
}, pageParams);
});
let pageResult = await page.goto(url);
await page.evaluate(pageParams => {
window.sharedConfig = 3; // Def too late
}, pageParams);
【问题讨论】:
标签: node.js phantomjs puppeteer