我正在用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使用从命令行(docs)设置的三个代理选项。
要使用它们,您必须将它们添加到DesiredCapabilities映射中(如this答案所示):
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);