Java 如何使用selenium在PhantomJS中设置代理身份验证?

Java 如何使用selenium在PhantomJS中设置代理身份验证?,java,proxy,selenium-webdriver,webdriver,phantomjs,Java,Proxy,Selenium Webdriver,Webdriver,Phantomjs,我正在用java运行这个简单的selenium测试: 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");

我正在用java运行这个简单的selenium测试:

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();
}
但在我的办公室,它需要代理身份验证,我不知道如何设置它

我必须把我的用户和密码放在某个地方


你能帮我吗?

PhantomJS使用从命令行()设置的三个代理选项

  • --proxy=address:port
    指定要使用的代理服务器(例如
    --proxy=192.168.1.42:8080
  • --proxy type=[http | socks5 | none]
    指定代理服务器的类型(默认值为
    http
  • --proxy auth
    指定代理的身份验证信息,例如
    --proxy auth=username:password)
要使用这些功能,您必须将它们添加到DesiredCapabilities映射中(如回答中所示):

ArrayList cliArgsCap=new ArrayList();
cliArgsCap.add(“--proxy=地址:端口”);
cliArgsCap.add(“--proxy auth=username:password”);
cliArgsCap.add(“--proxy type=http”);
DesiredCapabilities=DesiredCapabilities.phantomjs();
能力。设置能力(
PhantomJSDriverService.PHANTOMJS_CLI_ARGS,cliArgsCap);
WebDriver=新的PhantomJSDriver(功能);
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);