javascript - 一次扫描多页
问题描述
我有一个木偶问题。我有一个带有链接的数组
let links = ["...", "...", "..."];
那是大约30个链接。我想一次刮掉它们Promise.all()
let descriptions = await Promise.all(
links.map((url) => getDescription(page, url))
);
每个页面都有一个描述,但由于某种原因,我的descriptions
数组中填充了 30 个相同的描述。
这是为什么?我需要一个一个刮吗?
描述功能:
export async function getDescription(page, url) {
await page.goto(url);
let selector = ".C4VMK > span";
return page.$eval(selector, (handle) => handle.textContent);
}
解决方案
我是这样管理的:
我创建一个新选项卡并从中打开该 URL
export async function getDescription(browser, url) {
let page = await browser.newPage();
await page.goto(url);
let selector = ".C4VMK > span";
let result = await page.$eval(selector, (handle) => handle.textContent);
page.close();
return result;
}
推荐阅读
- javascript - 如何替换此代码段以不使用 attrs?反应和情绪/风格
- sql - 可能的简单 SQL 查询
- python - 在 Xaxis python 中使用科学计数法
- laravel - 如何将 OTP 发送到 Laravel 中的用户电话号码
- python - pip install pyodbc 不安装软件包,只安装 dist 信息文件,vsc 不自动完成 pyodbc 代码
- mlr3 - 在 MLR3 Ranger 设置 class.weights 中,错误“'xs' 上的断言失败:class.weights:必须长度为 1”
- javascript - 错误:在 XMLHttpRequest.handleLoad (xhr.js:62) 的结算 (settle.js:17) 处的 createError (createError.js:16) 处请求失败,状态码为 404
- c++ - 在 C++ 中获取模板类型的“嵌套”模板参数的数量
- java - hamburgerMenu 无法使用硒
- reactjs - Reactjs:TypeError:无法读取未定义的属性“帖子”