Как установить прокси-аутентификацию в PhantomJS с использованием селена?

Я запускаю этот простой тест selenium в java:

public static void main(String[] args){
    WebDriver driver = new PhantomJSDriver();
    driver.get("http://www.google.com");
    WebElement element = driver.findElement(By.id("gbqfif"));
    element.sendKeys("cheese");
    element.submit();
    System.out.println("Titulo:"+driver.getTitle());
    driver.quit();
}

но здесь, в моем офисе, требуется прокси-аутентификация, и я понятия не имею, как ее установить.

Я должен где-то указать свой пароль и пароль.

Вы можете помочь мне?

Ответ 1

PhantomJS использует три параметра прокси, которые заданы из командной строки (docs).

  • --proxy=address:port указывает прокси-сервер для использования (например, --proxy=192.168.1.42:8080).
  • --proxy-type=[http|socks5|none] указывает тип прокси-сервера (по умолчанию - http).
  • --proxy-auth указывает информацию аутентификации для прокси-сервера, например. --proxy-auth=username:password).

Чтобы использовать их, вы должны добавить их на карту DesiredCapabilities (как показано в этом ответе):

ArrayList<String> cliArgsCap = new ArrayList<String>();
cliArgsCap.add("--proxy=address:port");
cliArgsCap.add("--proxy-auth=username:password");
cliArgsCap.add("--proxy-type=http");
DesiredCapabilities capabilities = DesiredCapabilities.phantomjs();
capabilities.setCapability(
    PhantomJSDriverService.PHANTOMJS_CLI_ARGS, cliArgsCap);
WebDriver driver = new PhantomJSDriver(capabilities);