我正在用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(); }
但是在我的办公室这里需要代理身份验证,我不知道如何设置它。
我必须将我的用户名和密码放在某个地方。
你能帮我吗?
PhantomJS使用从命令行(docs)设置的三个代理选项。
--proxy=address:port指定要使用的代理服务器(例如--proxy=192.168.1.42:8080)。 --proxy-type=[http|socks5|none]指定代理服务器的类型(默认为http)。 --proxy-auth指定代理的认证信息,例如--proxy-auth=username:password)。
--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);