我为Puppeteer编写了一个函数start(),它使用代理启动一个Browserinstance。我从一个叫做袜子的数组提供代理。代码如下所示:
async function start() {
let launchOption = {
headless: false,
args: ["--no-sandbox", "--proxy-server=socks5://" + socks[0],};
const browser = await puppeteer.launch(launchOption);
const page = await brower.newPage();
await page.goto("https://example.com");
}
现在,我想启动多个浏览器,每个浏览器都有不同的袜子。例如:
browser1 =“ --proxy-server = socks5://” +袜子[0]browser2 =“ --proxy-server = socks5://” +袜子[1]....
我想做到这一点,而无需创建多个我要更改Sock的功能。我当时正在考虑一个循环,但我真的不知道如何将它们放在一起。如果有人这么仁慈,让我朝着从哪里开始的方向迈进,我将非常感激!
您绝对可以使用循环。只需使用一些等待功能即可正确运行它。
for (var i = 0; i < 10; i ++) {
start(i);
}
这会同时打开10个浏览器。
for (var i = 0; i < 10; i ++) {
await start(i);
}
加载后将一一打开10个浏览器。
for (var i = 0; i < 10; i ++) {
start(i);
wait(3000);
}
function wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
这会每3秒打开一次浏览器。
问候