繁体   English   中英

TypeError [ERR_INVALID_CALLBACK]: 回调必须是一个函数。 收到承诺{<pending> }

[英]TypeError [ERR_INVALID_CALLBACK]: Callback must be a function. Received Promise { <pending> }

我在尝试抓取prnt.sc时遇到此错误,我不明白为什么。

我认为setInterval()给我带来了问题。

TypeError [ERR_INVALID_CALLBACK]: 回调必须是一个函数。 收到承诺 { }

const puppeteer = require("puppeteer");
const select = require('puppeteer-select');

async function llamar() {

  const browser = await puppeteer.launch({
    headless: true
  });

  var text = "";
  var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

  for (var i = 0; i < 6; i++)
    text += "https://prnt.sc/" + possible.charAt(Math.floor(Math.random() * possible.length));
  console.log(text)


  const page = await browser.newPage();
  path = Math.random()
  await page.goto(text)
  const element = await select(page).getElement('button:contains(AGREE)');
  await element.click()
  await page.screenshot({
    path: path + '.jpg'
  })

  await browser.close();
}

setInterval(llamar(), 2000);

实际上,在setInterval ,您应该给出一个函数,而不是执行一个函数。

llamar()正在执行该函数。

尝试这个:

setInterval(llamar, 2000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM