【问题标题】:Node.JS - Looping through arrays within an objectNode.JS - 遍历对象内的数组
【发布时间】:2020-08-18 10:06:40
【问题描述】:

我现在有点困惑。我希望 puppeteer 同时启动 5 个浏览器,并为每个浏览器提供自己的 socks5。

let socks = [array of socks]

现在我想在我将启动的每个新浏览器中循环数组袜子,但我不确定我该怎么做。

到目前为止,这是我的代码:

let socks = fs.readFileSync("socks.txt", "utf8").split("\r\n");

async function start() {
  const browser = await puppeteer.launch();
  const page = await brower.newPage();
}

for (var i = 0; i < 5; i++) {
  start(i, launchOption);
  wait(1000);
}

function wait(ms) {
  var start = new Date().getTime();
  var end = start;
  while (end < start + ms) {
    end = new Date().getTime();
  }
}

如何循环遍历每个实例的 socks 数组?我不清楚...感谢您的帮助!

【问题讨论】:

  • 你真的不应该这样阻塞主线程。更好的const wait = delay =&gt; new Promise(resolve =&gt; setTimeout(resolve, delay)); 然后,在循环内,await start(...) await wait(1000); 虽然我不确定如果你等待start,你是否还需要等待

标签: javascript arrays node.js loops puppeteer


【解决方案1】:

您可以将 is 作为参数传递给评估函数

await page.evaluate((socks) => {
  console.log(socks); 
  socks.forEach((sock) => {
    /* your logic here */
  })
}, socks);

【讨论】:

    猜你喜欢
    • 2015-12-28
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    相关资源
    最近更新 更多