如何为代理包含代理身份验证用户名和密码?

时间:2012-01-12 18:59:42

标签: selenium-webdriver

我不想为我的办公室网络提供代理设置的用户名/密码,我可以将PROXY提供给浏览器:

String PROXY = "localhost:8080";

org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setHttpProxy(PROXY)
     .setFtpProxy(PROXY)
     .setSslProxy(PROXY);
DesiredCapabilities cap = new DesiredCapabailities();
cap.setPreference(CapabilityType.PROXY, proxy);

user_pref("network.proxy.http", "127.0.0.1");
user_pref("network.proxy.http_port", 8084);
user_pref("network.proxy.ssl", "127.0.0.1");
user_pref("network.proxy.ssl_port", 8084);
user_pref("network.proxy.no_proxies_on", "localhost:4444");
user_pref("network.proxy.type", 1);

但是,无论我做什么,它仍然要求Webdriver的密码。 注意:我可以发送htmlunit驱动程序的用户名/密码。请帮助!

2 个答案:

答案 0 :(得分:0)

尝试以下

 FirefoxProfile profile = new FirefoxProfile(); 
 profile.setPreference("network.proxy.type", 0); 
 WebDriver driver = new FirefoxDriver(profile);

答案 1 :(得分:0)

我已经阅读了很多帖子,说明你必须将配置文件作为base64编码的字符串发送。

cap.setPreference(CapabilityType.PROXY, proxy.ToBase64String());

如果有必要,我读过的文件从来没有定论,但值得一试。