2

这是显示“此网站的安全证书有问题”的屏幕。标题。这是我要单击的链接的代码:

<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.

4

2 回答 2

1

请参阅我对我自己版本的这个问题的回复: 我们如何让 Watir-Webdriver 使用 IE 无效证书屏幕?

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

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

于 2011-11-15T19:53:11.630 回答
0

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

于 2011-04-27T21:16:45.800 回答