以下のリンクから「onclick」属性値を取得しようとしています。
<a onclick="test" href="myurl">aaa</a>
使用は正常に機能しますが(正しいオブジェクトであることがlink.href
わかります) 、取得したものを使用する場合はwin32オブジェクトです(文字列の代わりにshowsを配置します)。link
link.attribute_value("onclick")
#<WIN32OLE:0x2cbdf10>
"test"
きちんとした解決策が得られず、それが1回限りの場合(開発プロセスで次回この種のテストを念頭に置いていることを確認できる場合)試してみてください。
onclick_value=browser.html[ %r{<a onclick="(.*?)" href="myurl">}mi, 1 ]
これは私にとってはうまくいきました(Windows 2003、ruby 1.8.7、watir 1.6.5):
browser.link(:href => /myurl/).attribute_value("onclick")
# => "test"
Firefoxを駆動するwatir-webdrivergemを使用してMacでテスト:
browser.link(:href => "myurl").html.split('"')[3]
# => "myurl"
IEを駆動するwatirgemを使用してWindowsでテスト:
browser.link(:href => /myurl/).html.split('"')[1]
# => "myurl"