【问题标题】:nodejs: Evaluation failed: ReferenceError: variable is not definednodejs:评估失败:ReferenceError:未定义变量
【发布时间】:2020-12-13 03:24:33
【问题描述】:

stackoverflow 上有类似的问题,但没有一个对我有帮助。我的代码有什么问题?为什么它以UnhandledPromiseRejectionWarning: Error: Evaluation failed: ReferenceError: target_time is not defined 退出。我应该在哪里声明变量以使其成为全局变量?

这里是代码

const puppeteer = require('puppeteer');

// const target_time = 1640955540;

async function getexample(){
  const target_time = 1640955540;
  const browser = await puppeteer.launch({headless: false});
  const page = await browser.newPage();
  const url = "https://example.com";
  await page.goto(url);
  await page.waitForSelector("h1");

  const date_change = await page.$eval("h1", e =>
       e.innerHTML = target_time   // This is where the exception occurs
   );
  console.log(date_change);
  console.log(target_time)
  await browser.close();
};

getexample();

【问题讨论】:

    标签: javascript node.js undefined puppeteer


    【解决方案1】:

    找到答案here。我必须将我的变量传递给 $eval 函数。最后我的代码变成了。

    const puppeteer = require('puppeteer');
    
    // const target_time = 1640955540;
    
    async function getexample(){
      const target_time = 1640955540;
      const browser = await puppeteer.launch({headless: false});
      const page = await browser.newPage();
      const url = "https://example.com";
      await page.goto(url);
      await page.waitForSelector("h1");
    
      await page.$eval("h1", (e,t) =>
           e.innerHTML = target_time   // This is where the exception used to occur
       ,target_time); // I had to remove the return `date_change` because it returned undefined.
      //console.log(date_change);
      console.log(target_time)
      await browser.close();
    };
    
    getexample();
    

    【讨论】:

      猜你喜欢
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多