如何在 Puppeteer-Cluster 中传递多个数据
How To Passing Multiple Data in Puppeteer-Cluster
只有一个问题。我该怎么做?
我有这些数据:
url : http://example.com
和 2 个字符串数据,例如:firstName 和 lastName
url在每个浏览器中仍然相同,但是,每个浏览器的名字和姓氏都会更改(浏览器 1 的名字 1 姓氏 1,浏览器 2 的名字 2 姓氏 2 等等)
如何将这些数据从 cluster.queue 传递到 cluster.task?
如果您有多个数据,那么您可以将其作为数组或对象传递。
const { Cluster } = require('puppeteer-cluster');
(async () => {
const cluster = await Cluster.launch({
concurrency: Cluster.CONCURRENCY_CONTEXT,
maxConcurrency: 2,
});
await cluster.task(async ({ page, data: {username, password} }) => {
await page.goto(url);
const screen = await page.screenshot();
// Store screenshot, do something else
});
cluster.queue({username: 'john.doe', password: '53CR37A63N7!'});
cluster.queue({username: 'mr.bean', password: 'JohnyEnglish1234'});
// many more pages
await cluster.idle();
await cluster.close();
})();
只有一个问题。我该怎么做?
我有这些数据:
url : http://example.com
和 2 个字符串数据,例如:firstName 和 lastName
url在每个浏览器中仍然相同,但是,每个浏览器的名字和姓氏都会更改(浏览器 1 的名字 1 姓氏 1,浏览器 2 的名字 2 姓氏 2 等等)
如何将这些数据从 cluster.queue 传递到 cluster.task?
如果您有多个数据,那么您可以将其作为数组或对象传递。
const { Cluster } = require('puppeteer-cluster');
(async () => {
const cluster = await Cluster.launch({
concurrency: Cluster.CONCURRENCY_CONTEXT,
maxConcurrency: 2,
});
await cluster.task(async ({ page, data: {username, password} }) => {
await page.goto(url);
const screen = await page.screenshot();
// Store screenshot, do something else
});
cluster.queue({username: 'john.doe', password: '53CR37A63N7!'});
cluster.queue({username: 'mr.bean', password: 'JohnyEnglish1234'});
// many more pages
await cluster.idle();
await cluster.close();
})();