我一直在尝试使用Selenium 2.0的HTMLUnitDriver
API访问HTTPS网址,但不知何故执行卡在“此连接不受信任”窗口并且控件不会返回。以下是我在this thread得到一些提示后尝试过的代码:
WebDriver driver = new HtmlUnitDriver() {
protected WebClient modifyWebClient(final WebClient client) {
try {
client.setUseInsecureSSL(true);
} catch (GeneralSecurityException e) {
e.printStackTrace();
}
return client;
}
};
driver.get("https://172.25.194.91:8443/meta/homeScreen.do");
我非常感谢能帮助它发挥作用。
答案 0 :(得分:1)
此问题已解决,现在已得到解决:HtmlUnitDriver
使用不带参数的WaitingRefreshHandler
,不幸的是,这对某些网站不合适 - 例如,HtmlUnitDriver
挂起http://news.google.com
原因&情形:强>
<meta http-equiv="refresh"...>
指令。WaitingRefreshHandler
等待指定的时间,但在此时间过后,再次重定向HtmlUnitDriver
以获取该页面! <强>解决方案:强>
需要扩展HtmlUnitDriver
并覆盖modifyWebClient
方法以设置新的(读取:清除)刷新处理程序。
@Override
protected WebClient modifyWebClient(WebClient client) {
RefreshHandler rh = new RefreshHandler() {
public void handleRefresh(final Page page, final URL url, final int seconds) { }
};
client.setRefreshHandler(rh);
return client;
}