Javascript 木偶演员不';单击给定的元素?
我试图在同一个网站中点击一个元素,它可以重定向我,但似乎不起作用Javascript 木偶演员不';单击给定的元素?,javascript,node.js,web-scraping,puppeteer,Javascript,Node.js,Web Scraping,Puppeteer,我试图在同一个网站中点击一个元素,它可以重定向我,但似乎不起作用 async function scrapeJobs(url, next) { let browser = await puppeteer.launch({ headless: false }); let page = await browser.newPage(); await page.goto(url); await Promise.all([ page.waitForSelector(next),
async function scrapeJobs(url, next) {
let browser = await puppeteer.launch({ headless: false });
let page = await browser.newPage();
await page.goto(url);
await Promise.all([
page.waitForSelector(next),
page.click(next),
page.waitForNavigation({ waitUntil: "load" }),
]);
await browser.close();
}
scrapeJobs(
"https://www.capgemini.com/fr-fr/carrieres/offres-emploi/?search_term=&filter_contract_type=stage",
".pagination__next"
);
我的猜测是,在单击按钮/链接之前,您需要解决waitForSelector的承诺。这对我很有用:
async function scrapeJobs(url, next) {
let browser = await puppeteer.launch({ headless: false });
let page = await browser.newPage();
await page.goto(url);
const nextPage = await page.$(next);
if (nextPage) {
await Promise.all([
nextPage.click(),
page.waitForNavigation({ waitUntil: "load" }),
]);
}
await browser.close();
}
编辑:Promise.all并行运行代码,因此它可能试图在“下一步”按钮可用之前单击该按钮。我的猜测是,在单击按钮/链接之前,您需要解析
waitForSelector
Promise。这对我很有用:
async function scrapeJobs(url, next) {
let browser = await puppeteer.launch({ headless: false });
let page = await browser.newPage();
await page.goto(url);
const nextPage = await page.$(next);
if (nextPage) {
await Promise.all([
nextPage.click(),
page.waitForNavigation({ waitUntil: "load" }),
]);
}
await browser.close();
}
编辑:Promise.all并行运行代码,因此它可能在“下一步”按钮可用之前尝试单击该按钮