【问题标题】:error when clicking a link using ruby/watir使用 ruby​​/watir 单击链接时出错
【发布时间】:2014-01-04 02:54:17
【问题描述】:

我是 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?}

【问题讨论】:

  • 使用 id :id=&gt;"Hyperlink" 而不是 MyLink
  • 这个答案有帮助吗?
  • 查看您应该能够使用的所有链接的文本browser.links.each {|link| puts link.text if link.visible?} 您可能还想尝试不进行可见性检查。如果您根本看不到它,请仔细查看并确认它不在框架中。

标签: ruby gem watir watir-webdriver


【解决方案1】:

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

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

 @b.a :id => 'Hyperlink'

【讨论】:

    猜你喜欢
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多