【发布时间】:2019-12-12 06:05:32
【问题描述】:
我创建了一个助手来管理我在其他模块中的代码。我写了这段代码:
Scraper: async function(page, selector1, selector2, selector3) {
let list_of_items = await page.evaluate(() => {
let items = [];
let elemend = selector1
let items_present = document.querySelectorAll(elemend);
items_present.forEach((element) => {
let itemJson = {};
try {
itemJson.name = element.querySelector(selector2).innerText;
if(element.querySelector(selector3)){
itemJson.price = element.querySelector(selector3).innerText;
}
}
catch (exception){
}
items.push(itemJson);
});
return items;
});
console.dir(list_of_items);
每次我尝试执行我的代码时它都会失败并说评估不是一个函数
await Scraper.Scraper(hunt.div_container, hunt.name_selector, hunt.price_selector);
【问题讨论】:
-
您将三个参数传递给
Scraper.Scraper()而不是四个,因此它会尝试执行不是函数的hunt.div_container.evaluate。
标签: javascript node.js dom-events node-modules puppeteer