在IE9中,如何使用watir-webdriver来通过无效的证书屏幕?

时间:2011-04-20 14:26:42

标签: internet-explorer-9 watir watir-webdriver

此屏幕显示“此网站的安全证书存在问题”。头。这是我试图点击的链接的代码:

<tr>
<td >&nbsp;</td>
<td id="continueToSiteAlign" align="left" valign="middle">
    <h4 id="continueToSite">
        <img src="red_shield.png" ID="ImgOverride" border="0" alt="Not recommended icon" class="actionIcon"><A href='' ID="overridelink" NAME="overridelink" >Continue to this website (not recommended).</A>
    </h4>
    </td>
</tr>

在带有watir的IE8中,代码browser.link(:text => /Continue/).click可以很好地点击屏幕,但在IE9中并非如此。相反,我得到NoMethodError: undefined method 'map' for nil:NilClass.

2 个答案:

答案 0 :(得分:1)

请参阅我对此问题的回复:How can we get Watir-Webdriver to work with the IE invalid cert screen?

简而言之,似乎IE9正在通过一个特殊页面来处理这个问题,该页面禁用了对大多数JavaScript的访问以及黑客可能在恶意软件站点上使用的任何内容,以自动解决警告问题。 webdriver的工作方式显然足够接近黑客可能尝试做的事情,它也以同样的方式被阻止。

最佳解决方案是将自签名证书的来源添加到受信任的根证书颁发机构,以便IE将证书视为可信并且不会抱怨。由此产生的体验与真实用户在使用受信任的证书颁发机构颁发的有效证书访问实际生产站点时所看到的更为接近。

答案 1 :(得分:0)

如果它有帮助,它不是IE9中的弹出窗口,就像在IE8中一样。 在8中,我像任何其他弹出窗口一样处理它,使用driver.getwindowhandles()并将其放入一个集合中,并且一组超过1表示我有一个意外的弹出窗口。 在9,我无法弄清楚它是什么,因为我的设置仍然只有主窗口1。它似乎是一个ajaxy或scripty内联弹出,但它是浏览器的一部分。在页面上搜索它的元素失败了,寻找新的页面句柄也失败了,目前它非常难以捉摸。