Как найти HTML-ссылку, используя Watir (3.0) и атрибут name
Контекст:
- Win XP box, Ruby 1.9.2p290
- список драгоценных камней watir # => watir (3.0.0) watir-classic (3.1.0)
- список драгоценных камней sinatra # => sinatra (1.3.3)
Учитывая довольно упрощенный веб-сайт, как это:
require "sinatra"
get '/' do
"<a href='http://example.com/' name='a_name' >Click me!</a>"
end
Когда я запускаю приложение sinatra через порт по умолчанию (4567) и…
Затем, в командной строке, я пытаюсь использовать ссылку через атрибут имени, я получаю исключение:
j:…>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 больше не поддерживается?
2 ответа
Так как сообщение об ошибке говорит 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
Я думаю, что параметр ссылки не является правильным. Попробуй это:
b.link(:name => 'a_name').flash