使用带IE8的watir webdriver时无法单击按钮,但适用于Firefox

时间:2015-03-02 12:42:09

标签: selenium-webdriver watir-webdriver

当我使用Firefox v35.01时,我的watir-webdriver验收测试成功运行。但是,当我将浏览器交换到IE8时,涉及单击登录按钮的第一步失败,出现以下错误:

Unable to find element with xpath == .//button[contains(concat(' ', @
class, ' '), '  x-btn-text login ')] | .//input[contains(concat(' ',      @class, ' '
), '  x-btn-text login ') and (translate(@type,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abc
defghijklmnopqrstuvwxyz')='button' or translate(@type,'ABCDEFGHIJKLMNOPQRSTUVWXY
Z','abcdefghijklmnopqrstuvwxyz')='reset' or translate(@type,'ABCDEFGHIJKLMNOPQRS
TUVWXYZ','abcdefghijklmnopqrstuvwxyz')='submit' or translate(@type,'ABCDEFGHIJKL
MNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='image')] (Selenium::WebDriver::Error::NoSuchDocumentError)

按钮的代码是

td class="x-btn-mc"><em class="" unselectable="on"><button class=" x-btn-text login" id="ext-gen64" type="button">Login</button></em>

我用来点击按钮的代码是:

@browser.button(:class => " x-btn-text login").when_present.click

我正在运行

环境是:Windows 7 32位,IE8 v8.0.7601,Firefox v35,Ruby 1.9.3,Selenium-webdriver(v2.44)和Watir-webdriver(v0.66)

1 个答案:

答案 0 :(得分:0)

如果ID值一致,您可能想尝试使用它来选择按钮。在有效的HTML中,id值在页面上是唯一的,页面上不超过一个元素(不包括框架内的东西)可以具有相同的ID。

同时仔细检查您是否还没有提供给IE8的HTML与Firefox的相同。

IE8仅对HTML 5提供基本支持。scores仅为33,而IE11为336,现有Firefox和Chrome为450+。因此,该网站可能会“降档”。如果它检测到IE8并使用不同的代码以便与浏览器中那个6岁的旧版本兼容