我正试图在watir 3.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.操作系统为Win XP sp3。我经常调用clickpompt,一些脚本重复使用它,但我第四次调用它时,它并不总是失败,有时是第二次,等等。我需要做一些不同的事情吗?谢谢
发布于 2012-08-11 15:39:01
这是由故障的ffi gem引起的。您需要安装该gem的更新版本才能解决该问题。至少需要1.1.3版。
最初的问题可以在这里看到https://github.com/ffi/ffi/issues/213
只需执行以下命令:
gem install ffi或者,如果你使用的是Bundler,那么把这个添加到你的Gemfile中:
gem "ffi", "~>1.1.3"并执行:
bundle update ffihttps://stackoverflow.com/questions/11839517
复制相似问题