使用ruby / watir单击链接时出错

时间:2014-01-04 02:54:17

标签: ruby gem watir watir-webdriver

我是ruby / watir的新手,在尝试点击链接时遇到错误。 错误是:

C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-4.0.1/lib/watir-classic/elemen
t.rb:328:in `assert_exists': Unable to locate element, using {:tag_name=>["a"],
:id=>"My Link"} (Watir::Exception::UnknownObjectException)
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-4.0.1/lib/watir-c
lassic/element.rb:474:in `perform_action'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-4.0.1/lib/watir-c
lassic/element.rb:354:in `click!'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-4.0.1/lib/watir-c
lassic/element.rb:157:in `click'
        from Login.rb:22:in `<main>'

我尝试点击的链接如下所示:

<TD><DIV id=div style="DISPLAY: inline"><A id=Hyperlink href="javascript:RunFullScreen('myURL')">My Link</A></DIV>

另外,我尝试使用'puts'写出页面上的所有链接,但是当脚本完成时没有写出任何内容 我用这段代码写出了链接(不确定这是否正确):

browser.links.each {|link| puts link.attribute_value("text") if link.visible?}

1 个答案:

答案 0 :(得分:1)

错误说明您试图找到具有以下属性的对象:{:tag_name=>["a"], :id=>"My Link"},但您已向我们展示了带有A id=Hyperlink的HTML代码。因此,要找出HTML,您需要正确指定其属性:

 @b.element :tag_name => 'a', :id => 'Hyperlink'

 @b.a :id => 'Hyperlink'