Как установить аутентификацию Proxy в веб-драйвере Selenium Firefox? - PullRequest
3 голосов
/ 07 мая 2019

Вот мой код для test.js сценария:

require('geckodriver');
const config = require("../config/config.json");
var webDriver = require("selenium-webdriver");
var firefox = require("selenium-webdriver/firefox");
var proxy = require("selenium-webdriver/proxy");
var options = new firefox.Options();
options.addArguments("-headless");

var driverFirefox = new webDriver.Builder()
    .withCapabilities(webDriver.Capabilities.firefox())
    .setProxy(proxy.socks('username:password@proxy_host:port'))
    .setFirefoxOptions(options)
    .build();

call1() {
    try {
         driverFirefox
            .wait(driverFirefox.get('http://IP_Address:PORT'))
            .then(function() {
                console.log("Success!!!!");
            }); 
    } catch (mainError) {
      console.log("Inside try's catch block");
      console.log(mainError);
    }
}
call1();

Используя приведенный выше код при запуске скрипта test.js, я получаю запрошенный публичный IP-адрес вместо прокси-IP-адреса в запрошенном URL (http://IP_Address:PORT).

Ниже приведен код для запрашиваемого IP-адреса печати в http://IP_Address:PORT маршруте:

const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
console.log('IP: ', ip);

Может кто-нибудь предложить мне, как получить IP прокси в моем скрипте?

...