Watir / Selenium2在Internet Explorer 9中单击iframe中的元素后没有任何反应

时间:2012-09-06 18:33:15

标签: html ruby watir-webdriver selenium-webdriver

我正在Ubuntu上为网络编写Watir-WebDriver和Ruby 1.9.2的自动测试。我有一些iframe有几个元素。我需要点击这些项目并检查会发生什么。 <iframe>看起来像是:

<iframe id="iframe" align="top" some_attribute="some_attribute">
    <html>
        <head>
            <title> Some title </title>
        </head>
        <body>
            <div>
                <button id="id_button" type="button" class="some_class"/>
            </div>
        </body>
    </html>
</iframe>

当我点击按钮时,它应该创建菜单。但当我点击带有watir-webdriver的按钮时,没有任何反应,好像他没有按下。 Watir不打印任何例外,但不要按下按钮。

此问题仅适用于Internet Explorer。对于Firefox和Chrome,没有问题。我的代码如下:

browser = Watir :: Browser.new (: remote,: url => "http://some_ip:4444/wd/hub",: desired_capabilities =>: internet_explorer)
browser.goto ("http://some_http.com")
browser.iframe.button (: id, "id_button"). click

如果我写

browser.iframe.button(: id, "id_button").attribute_value("class") 

它正在返回"some_class"。这表示该项目已被识别,但仍未发生任何事情。

2 个答案:

答案 0 :(得分:1)

请尝试此代码

browser.iframe(:id, "iframe").button (: id, "id_button").click

如果您需要更多信息,请查看此链接

http://wiki.openqa.org/display/WTR/Frames

答案 1 :(得分:0)

您是否尝试过使用javascript命令?

例如:

browser.iframe.button(:id, "id_button").fire_event("onclick")

如果不起作用,请尝试使用IRB进行调试。

PS:我会写如下:

browser.iframe(:id, /iframe/).button(:id, /button/).fire_event("onclick")