2

这不是我的实际代码,但场景完全相同。

mysite.com 是这样的:

<iframe name:something1>
    <form id:something2> 
        <ul>
        <li>
            <input class = "class a" id = "id1" name = "name1">
        </li>
        <li>
            <input class = "class b" id = "id2" name = "name2">
        </li>
        <li>
            <input class = "class c" id = "id3" name = "name3">
        </li>
        <li>
            <input id = "sbmt_btn" type = "submit">
        </li>

        </ul>
    </form>
</iframe>

我使用的 Watir 脚本:

require "watir-webdriver"
b = Watir::Browser.new :chrome
b.goto "mysite.com"
b.frame(:name, "something1").text_field(:id, "id1").set "45"     #line1
b.frame(:name, "something1").text_field(:id, "id2").set "Hello"  #line2
b.frame(:name, "something1").text_field(:id, "id3").set "World"  #line3
b.frame(:name, "something1").button(:id, "sbmt_btn").click       #line4

问题: line1 和 line2 运行成功。但是系统在执行 line3 时抛出错误。系统找不到 id= id3 和 id = sbmt_btn 的对象。我浏览了很多页面来解决这个问题,但不能。请帮忙。我的红宝石版本:红宝石 1.9.3p362

提前致谢。

4

1 回答 1

0

尝试 when_present 命令:

. . .
b.frame(:name, "something1").text_field(:id, "id3").when_present.set "World"
. . .
于 2013-08-06T23:31:01.730 回答