gpt4 book ai didi

url - page.click 不是一个函数

转载 作者:行者123 更新时间:2023-12-04 08:54:48 24 4
gpt4 key购买 nike

嗨,我有以下代码,我有一个错误,说 sublink.click 不是一个函数。
我正在尝试从页面获取 URL(我做到了),然后单击每个 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);
});;

}

最佳答案

它不会点击并返回 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');

关于url - page.click 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63890774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com