Proxyが必要になる場合は、
ブラウザ起動時に認証ダイアログが表示されます。
するとProxy用アカウントを人の手で入力することが必要となり自動化にすることが出来ない為、予めProxyの設定を行っておく必要があります。
各ブラウザの設定方法を以下に記載します。
2013/10/23
どうしてもProxyのアカウント認証ダイアログが出力されてしまう。
どうにかして出さずに自動で認証する方法を検討する必要があるが時間がかかりそうなので、そのうち対応すること
2013/10/28
対応方法判明したので、記載します。
前提として、以下のライブラリをビルドパスに追加すること。
- selenium-server-standalone-2.37.0.jar
=== Internet Explorer ===
System.
setProperty("webdriver.ie.driver",
"conf/selenium/IEDriverServer.exe");
proxy.setSocksProxy("hostname:port");
proxy.setSocksUsername("username");
proxy.setSocksPassword("password");
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
WebDriver ieDriver = new InternetExplorerDriver(ieCapabilities);
ieCapabilities.setCapability(CapabilityType.PROXY, proxy);
ieDriver.get("http://yahoo.co.jp");
2013/10/28
上記に記載したhudsuckr.exeについては、selenium-server-standalone-2.37.0.jarに含まれていたことが分かった為、このjarファイルをビルドバスに追加
することにより、エラーが出力されなくなる。
上記jarを設定した状態で、Proxyを設定することによりプロキシ用のダイアログが出力されずにプロキシを通すことができた。
うーん、socksだとProxy用のダイアログが出ないのはIEの仕様なのだろうか?
通常のHTTPProxyだとSystem.setPropertyに何ぼ設定してもダイアログ出るのに・・・・
この謎については、また時間のあるときにでも。。。
最終更新:2013年10月28日 21:55