page.click 不是函数

page.click is not a function

您好,我有以下代码,我有一个错误提示 sublink.click 不是一个函数。 我正在尝试从页面获取 URLs(我做到了),然后单击每个 URL 并在这些 URL 中获取其他信息。有人可以帮助我吗?

'use strict';
const puppeteer = require('puppeteer');

crawlPage();

function crawlPage() {
  (async () => {

    const args = [
      "--disable-setuid-sandbox",
      "--no-sandbox",
      "--blink-settings=imagesEnabled=false",
    ];
    const options = {
      args,
      headless: true,
      ignoreHTTPSErrors: true,
    };

    const browser = await puppeteer.launch(options);
    const page = await browser.newPage();
    await page.goto("https://www.guiadacarreira.com.br/profissao/lista-de-profissoes/", {
      waitUntil: 'networkidle2',
      timeout: 30000
    });

    let hrefs = await page.$$eval('a', as => as.map(a => a.href));
    console.log("DOID");

    // peguei os urls




    //let's click on each sub click
    for (let sublink of hrefs) {
      console.log('██AAA');

      const [response] = await Promise.all([
        page.waitForNavigation(),
        sublink.click('guia', {delay: 100}),
      ]);
      console.log('██BBB');

      const resultado = await sublink.evaluate(() => {
        return document.querySelector("body > div.container.gc-master-container > div:nth-child(3) > main > article > div.gc-post-body").firstChild.value;
      });
      // await page.goBack() 
      break;
    }


  })().catch((error) => {
    console.error(error);
  });;

}

它不会点击 returns sublink.click is not a function 因为 sublink 是一个包含 url 的字符串。在行 let hrefs = await page.$$eval('a', as => as.map(a => a.href)); 中,您将返回字符串数组,而不是元素。如果你想拥有你需要使用的元素,比如 let hrefElements = await page.$$('a');