0

watir3.0のjavascriptダイアログで[OK]をクリックしようとしています。私はこれにできる限りコードを単純化しました:

@ie.button(:id, "Associate Control Activity").click_no_wait

@ie.clickprompt

def clickprompt(btn="OK", txt="")
    sleep 1 until javascript_dialog.exists?
    #sleep 1 until javascript_dialog.button(btn).exists? #tried both
    javascript_dialog.button(btn).click
end

私はよくこれを受け取ります、いくつかのスクリプトは他のものよりも多いです(非常に断続的です):

C:/ruby/lib/ruby/gems/1.8/gems/rautomation-0.7.2/lib/rautomation/adapter/win_32/functions.rb:317: [BUG] Segmentation fault
ruby 1.8.7 (2012-06-29 patchlevel 370) [i386-mingw32]
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

OSはWinXPsp3です。私はclickpomptを頻繁に呼び出し、一部のスクリプトはそれを繰り返し使用しますが、4回目の呼び出し、場合によっては2回目の呼び出しなどで、常に失敗するとは限りません。別のことをする必要がありますか?ありがとう

4

1 に答える 1

1

これは、ffigemの障害が原因です。その問題を解決するには、そのgemの新しいバージョンをインストールする必要があります。少なくともバージョン1.1.3が必要です。

元の問題はここで見ることができますhttps://github.com/ffi/ffi/issues/213

次のコマンドを実行するだけです。

gem install ffi

または、Bundlerを使用している場合は、これをGemfileに追加します。

gem "ffi", "~>1.1.3"

そして実行します:

bundle update ffi
于 2012-08-11T07:39:01.403 に答える