1

语境:

  • Win XP 盒子,Ruby 1.9.2p290
  • 宝石列表 watir # => watir (3.0.0) watir-classic (3.1.0)
  • gem list sinatra # => sinatra (1.3.3)

给定一个相当简单的网站:

require "sinatra"
get '/' do
    "<a href='http://example.com/' name='a_name' >Click me!</a>"
end

当我在默认端口 (4567) 上运行 sinatra 应用程序时......</p>

然后,在命令行中,我尝试通过name属性使用链接,但出现异常:

j:…&gt;pry -r watir
[1] pry(main)> b = Watir::Browser.new
=> #<Watir::IE:0x1538fd32 url="about:blank" title="">
[2] pry(main)> b.goto "http://localhost:4567/"
=> 0.203129
[3] pry(main)> b.link( name: 'a_name' ).flash
Watir::Exception::MissingWayOfFindingObjectException: name is an unknown way of finding a <a> element (a_name)
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.1.0/lib/watir-classic/locator.rb:76:in `rescue in match?'

我做错了吗?在其他按名称搜索的 HTML 元素上仍然可以正常工作。到目前为止,以前的 Watir 版本也运行良好。我错过了什么?或者不再支持使用 name 属性?

4

2 回答 2

1

由于错误消息说name is an unknown way of finding a <a> element,我猜name链接不再支持属性。这对我来说似乎是一个错误,因为据我所知name,链接仍然支持属性:http: //www.w3.org/TR/html401/struct/links.html

您可以在此处报告错误:https ://github.com/watir/watir-classic/issues

于 2012-08-22T11:46:42.823 回答
0

我猜链接的参数不正确。试试这个:

b.link(:name => 'a_name').flash
于 2012-08-22T11:08:31.027 回答