1

就一个问题。我怎样才能做到这一点?
我有这些数据:
url:http
://example.com 和 2 个字符串数据,例如:firstName 和 lastName

每个浏览器中的 url 仍然相同,但是,每个浏览器都会更改 firstName 和 lastName(对于 browser1,firstName1 lastName1,对于 browser2,firstName2 lastName2 等等)

如何将这些数据从 cluster.queue 传递到 cluster.task?

4

1 回答 1

1

如果您有多个数据,则可以将其作为数组或对象传递。

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();
})();
于 2022-03-04T17:31:55.483 回答