Javascript 如何获得剧作家的元素集合?
如何与剧作家一起获得页面上的所有图像? 我只能用以下代码获取一个(Javascript 如何获得剧作家的元素集合?,javascript,node.js,web-scraping,playwright,Javascript,Node.js,Web Scraping,Playwright,如何与剧作家一起获得页面上的所有图像? 我只能用以下代码获取一个(ElementHandle),但不能获取一个集合 const { chromium } = require("playwright"); class Parser { async parse(url) { const browser = await chromium.launch(); const page = await browser.newPage(); await page.goto(url)
ElementHandle
),但不能获取一个集合
const { chromium } = require("playwright");
class Parser {
async parse(url) {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto(url);
await page.waitFor("img");
// TODO: get somehow collection of elements
return await page.$("img");
}
}
module.exports = Parser;
在遥远的另一个模块中的某处:
const Parser = require("./path/to/dir/Parser.js");
const parser = new Parser();
parser
.parse(body.url)
.then(elemHandle => {
// here I get only one ElementHandle object, but suppose to get an array or collection
})
.catch(err => {
throw new Error(err);
});
节点v.12.16.1我已经找到了答案。需要使用
page.$$(选择器)
而不是page.$(选择器)
来获取类似文档的内容。querySelectorAll(选择器)
- 剧作家使用:等待页面。$$(选择器)李>
等待页面。$$(选择器)
。
这是一个
您还可以使用以下代码
const result = await page.evaluate(selector => document.querySelectorAll(selector) , selector);
这是一个