如何在 NodeJS Selenium 中使用代理?

cho*_*rai 6 javascript selenium

文档中,我读到了在构建驱动程序时使用代理集的内容,如下所示:

var driver = new webdriver.Builder()
    .withCapabilities(webdriver.Capabilities.chrome())
    .setProxy(proxy.manual({http: 'host:1234'}))
    .build();
Run Code Online (Sandbox Code Playgroud)

当我将此代码与代理 '103.87.16.2:80' - 一起使用时.setProxy(proxy.manual({http: 'host:1234'})),我仍然拥有我的家庭 IP。

问题是什么?

Jos*_*gba 3

const { Builder } =  require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

let proxyAddress = '212.56.139.253:80'
// Setting the proxy-server option is needed to info chrome to use proxy
let option = new chrome.Options().addArguments(`--proxy-server=http://${proxyAddress}`)

const driver = new Builder()
  .forBrowser('chrome')
  .setChromeOptions(option)
  .build()

driver.get('http://whatismyip.host/')
  .then(() => console.log('DONE'))
Run Code Online (Sandbox Code Playgroud)

  • 感谢您提供此代码片段,它可能会提供一些有限的即时帮助。[正确的解释](https://meta.stackexchange.com/q/114762/349538)将通过展示为什么这是一个很好的问题解决方案来极大地提高其长期价值,并将使其对未来的读者更有用与其他类似的问题。请[编辑]您的答案以添加一些解释,包括您所做的假设。 (2认同)