Browsermob プロキシを使用して、読み込まれた Web ページの HAR コンテンツを chrome webdriver でキャッチしています。
<dependency>
<groupId>net.lightbody.bmp</groupId>
<artifactId>browsermob-core-littleproxy</artifactId>
<version>2.1.0-beta-3</version>
</dependency>
プロキシを初期化する方法は次のとおりです。
ChromeOptions options = new ChromeOptions();
for (String extension : DriverProperties.CHROME_EXTENSIONS.getStringArray()) {
options.addExtensions(new File(extension));
}
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
capabilities.setCapability(CapabilityType.SUPPORTS_APPLICATION_CACHE, false);
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
proxy = new BrowserMobProxyServer();
proxy.start(0);
proxy.setHarCaptureTypes(CaptureType.RESPONSE_CONTENT, CaptureType.RESPONSE_BINARY_CONTENT);
// get the Selenium proxy object
Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);
capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);
proxy.newHar();
ChromeDriver driver = new ChromeDriver(capabilities);
しかし、https 経由で URL を取得しようとすると (例: https://screen.yahoo.com )、Web ブラウザーに「この Web ページにはリダイレクト ループがあります」と表示されます。これに対する解決策はありますか?