HTTP 応答をインターセプトするためにBrowserMob( http://bmp.lightbody.net/ ) を使用して ChromeDriver をセットアップしています。
ProxyServer proxyServer = null;
proxyServer = new ProxyServer(9101);
proxyServer.start();
proxyServer.setCaptureContent(true);
proxyServer.setCaptureHeaders(true);
Proxy proxy = proxyServer.seleniumProxy();
proxy.setHttpProxy("localhost:9101");
proxyServer.addResponseInterceptor(new ResponseInterceptor() {
@Override
public void process(BrowserMobHttpResponse response, Har har) {
if (response.getRawResponse().getStatusLine().getStatusCode() == 500) {
// do something
}
}
});
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.PROXY, proxy);
System.setProperty("webdriver.chrome.driver", "seleniumdrivers/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--lang=nl");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
this.driver = new ChromeDriver(capabilities);
Selenium テストを実行すると、すべてのページの読み込みが非常に遅くなります。プロキシがなければ正常に動作します。誰もがこれの理由/解決策を知っていますか?
ログ コンソールに次のメッセージが表示されますjan 10, 2014 12:58:06 PM net.sf.uadetector.datastore.AbstractUpdateOperation isUpdateAvailable
INFO: Can not check for an updated version. Are you sure you have an established internet connection?
。オンライン Web サイト (ローカル サーバーではない) で Selenium テストを実行しています。これは、インターネットに接続していることを意味します。