【发布时间】:2020-04-21 03:33:27
【问题描述】:
我正在尝试使用 puppeteer 和 datalayer-puppeteer 库来自动化网站上的 GTM 容器测试。到目前为止,我已经编写了这个简单的代码:
const puppeteer = require('puppeteer');
const dataLayer = require('puppeteer-datalayer');
(async () => {
// Automate here
const browser = await puppeteer.launch();
const page = await browser.newPage();
const containerId = "GTM-5LDMPBF";
await page.goto('https://www.example.com');
await page.click('#header > nav > div.main-navigation > a');
const dataLayerPuppeteer = new dataLayer(page, containerId);
console.log(await dataLayerPuppeteer.history());
await browser.close();
})();
问题是当我运行它时,出现以下错误:UnhandledPromiseRejectionWarning: Error: Evaluation failed: dataLayer is not defined。 dataLayer 应该被定义并且可见。我应该以某种方式等待声明还是有其他方法可以解决这个问题?
【问题讨论】:
标签: javascript asynchronous async-await puppeteer