需要使用selenium webdriver代码中的代理捕获网络流量..我已尝试使用以下代码但在打开浏览器后google.com未加载获取错误“代理服务器拒绝连接”
public class Test_One {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ProxyServer server = new ProxyServer(8090);
server.start();
server.setCaptureHeaders(true);
server.setCaptureContent(true);
server.newHar("test");
DesiredCapabilities capabilities = new DesiredCapabilities();
Proxy proxy = server.seleniumProxy();
FirefoxProfile profile = new FirefoxProfile();
profile.setAcceptUntrustedCertificates(true);
profile.setAssumeUntrustedCertificateIssuer(true);
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", 8090);
profile.setPreference("network.proxy.ssl", "localhost");
profile.setPreference("network.proxy.ssl_port", 8090);
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.no_proxies_on", "");
profile.setProxyPreferences(proxy);
capabilities.setCapability(FirefoxDriver.PROFILE,profile);
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver = new FirefoxDriver(capabilities);
driver.get("http://www.google.com");
Har har1 = server.getHar();
server.stop();
driver.quit();
}
}
答案 0 :(得分:3)
最新版本的Selenium Webdriver并不真正支持流量捕获。但是,您可以使用BrowserMob代理来捕获流量。 https://github.com/lightbody/browsermob-proxy。自述文件中有关于如何使用Selenium进行此操作的示例。
答案 1 :(得分:1)