我正在尝试在watir 3.0中的javascript对话框中单击“确定”。我尽可能地简化了代码:
@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,有些脚本会反复使用它,但是第四次调用它时并不会总是失败,有时是第二次,等等。我需要做一些不同的事吗?感谢
答案 0 :(得分:1)
这是由错误的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 ffi