我安装了Tor Expert Bundle,我想用Puppeteer运行它。
我试试:
const browser = await puppeteer.launch({headless: false,args:['--proxy-server="socks5://127.0.0.1:9050"']});
但我收到错误ERR_NO_SUPPORTED_PROXIES。我可以使用普通的Chrome浏览器运行它。
答案 0 :(得分:7)
关于无头模式(Source)中代理的更复杂配置,铬中存在一个已打开的错误。自2017年7月以来,没有任何活动。
然而,我已经能够使用无头铬和SOCKS5代理配置来运行Puppeteer(1.3.0)。
const browser = await puppeteer.launch({args: ['--proxy-server=socks5://127.0.0.1:1337']});
尝试更新Puppeteer,它也会更新捆绑的Chromium,然后再次运行。您似乎也可能有拼写错误:删除socks5://127.0.0.1:9050
之间的“。
答案 1 :(得分:1)
看起来puppetteer只能通过没有无头模式的代理运行
答案 2 :(得分:1)
/**************************************************************************
* IMPORTS
***************************************************************************/
const puppeteer = require('puppeteer')
/**************************************************************************
* DEMOS > USING PUPPETEER BEHIND TOR
* BASED ON https://medium.com/@jsilvax/running-puppeteer-with-tor-45cc449e5672
***************************************************************************/
;(async () => {
const browser = await puppeteer.launch({
args: ['--proxy-server=socks5://127.0.0.1:9050'],
headless: false,
})
const page = await browser.newPage()
await page.goto('https://check.torproject.org/')
const isUsingTor = await page.$eval('body', (el) =>
el.innerHTML.includes('Congratulations. This browser is configured to use Tor')
)
if (!isUsingTor) {
console.log('Not using Tor. Closing...')
return await browser.close()
}
console.log('Using Tor. Continuing... ')
// Now you can go wherever you want
await page.goto('https://www.facebook.com/')
// You would add additional code to do stuff...
// Then when you're done, just close
await browser.close()
})()