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

SaM*_*M85 1 javascript puppeteer

我在尝试 scrape 时遇到此错误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);
Run Code Online (Sandbox Code Playgroud)

T.T*_*ine 7

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

llamar()正在执行该函数。

尝试这个:

setInterval(llamar, 2000);
Run Code Online (Sandbox Code Playgroud)