このWatirWebdriverの問題を、IE8を使用するRuby1.9.2およびIE9を使用する1.9.3で複製しました。ChromeまたはFirefoxを使用している場合は発生しないようです。OSはWindows7(64ビット)です。
Watir Webdriverを使用して特定のリンクをクリックすると、アクションは正常に完了します(ブラウザーがリンクのhrefに移動するという点で)が、クリックイベントが永遠に発生し続けるように見えます。これは、リンクにマウスを合わせるとドロップダウンメニューが表示される場合に最も明白です。リンクをクリックした後、ブラウザを閉じるまでドロップダウンは表示されたままになります(もちろん、それを含むページを見ている場合)リンク)。
私にとっての本当の目玉は、これが発生すると、他のリンクをクリックできないことです。IEを通常の状態に戻す唯一の方法は、ブラウザを閉じてから再度開くことです。
例:
require 'rubygems'
require 'watir-webdriver'
include Watir
b=Browser.new :ie
# This produces the following output:
# Started InternetExplorerDriver server (64-bit)
# 2.28.0.0
# Listening on port 5555
# => #<Watir::Browser:0x..fe85636c0 url="http://localhost:5555/" title="WebDriver">
b.goto 'www.net-a-porter.com'
b.link(:text,'Designers').click
この時点で、IEは私が期待するページ(http://www.net-a-porter.com/Shop/AZDesigners)を表示しますが、Designersドロップダウンはまだ表示されているはずですが、表示されるべきではありません。元のリンクは引き続きIEのステータスバーに表示されます。
最初は、この特定のWebサイトのバグだと思っていましたが、次のコードを使用してyahoo.comでも同様のことが起こります。
b.goto 'www.yahoo.com'
b.link(:text,'Sport').click
Yahoo! スポーツページは読み込まれますが、ステータスバーでURLが点滅し続け、[サッカー]ドロップダウンメニューが表示されます。これが私が意味する埠頭を示すスクリーンショットです:
さて、そのスクリーンショットを撮るためにブラウザのサイズを変更すると、余白が減り、コンテンツが左にシフトして利用可能な小さなスペースに収まるように、さまざまなメニューが表示されることに気付きました。そのため、同じ場所で繰り返されるマウスの迷いクリックがあるようです。
これはおそらくWatirWebdriverまたはSeleniumのバグでしょうか?
これが私の宝石リストです:
- アドレス可能(2.3.2)
- ビルダー(3.1.4)
- バンドラー(1.2.3)
- 子プロセス(0.3.6)
- coderay(1.0.8)
- 列化(0.3.6)
- commonwatir(4.0.0、2.0.4)
- きゅうり(1.2.1)
- デバッガー(1.2.3、1.2.2)
- デバッガー-ラインキャッシュ(1.1.2)
- デバッガー-ruby_core_source(1.1.6、1.1.5)
- diff-lcs(1.1.3)
- 異なる(0.1.2)
- ffi(1.2.0 x86-mingw32)
- ガーキン(2.11.5 x86-mingw32)
- ハイライン(1.6.15)
- くわ(3.4.0)
- hpricot(0.8.6)
- json(1.7.6、1.7.5)
- libwebsocket(0.1.7.1)
- ロガー(1.2.8)
- method_source(0.8.1)
- mini_magick(3.4、3.2.1)
- ミニテスト(4.3.3、1.6.0)
- multi_json(1.5.0)
- mysql2(0.3.11 x86-mingw32)
- のこぎり(1.5.6 x86-mingw32)
- pg(0.14.1 x86-mingw32)
- 詮索好き(0.9.10 i386-mingw32)
- pry-doc(0.4.4)
- レーキ(10.0.3、0.8.7)
- 自動化(0.8.0、0.7.3、0.6.3)
- rbx-require-relative(0.0.9)
- rdoc(3.12、2.5.8)
- rspec(2.12.0)
- rspec-core(2.12.2)
- rspec-期待値(2.12.1)
- rspec-mocks(2.12.1、2.12.0)
- rubygems-アップデート(1.8.24)
- ルビージップ(0.9.9)
- s4t-utils(1.0.4)
- selenium-webdriver(2.27.2)
- スロップ(3.3.3)
- subexec(0.2.2、0.0.4)
- ユーザーの選択(1.1.6.1)
- watir(4.0.2 x86-mingw32、2.0.4)
- watir-クラシック(3.3.0)
- watir-webdriver(0.6.2)
- websocket(1.0.6、1.0.5)
- win32-api(1.4.8 x86-mingw32)
- win32-プロセス(0.7.0)
- win32console(1.3.2 x86-mingw32)
- win32screenshot(1.0.7)
- windows-api(0.4.2)
- windows-pr(1.2.2)
- xml-simple(1.1.2)
- ヤード(0.8.3)