为什么“click_no_wait”比“click”慢?

时间:2012-09-01 10:06:43

标签: watir

单击一个带有“click_no_wait”方法的按钮后,在发生任何事情之前会有一秒钟的延迟...为什么会这样?

这是一个例子(按钮的黄色闪烁和弹出窗口之间明显的延迟):

require 'watir'
b = Watir::Browser.start "www.w3schools.com/js/tryit.asp?filename=tryjs_alert"
b.frame(:name, "view").button(:text, "Show alert box").click_no_wait

如果我用“click”替换“click_no_wait”,那么点击一个按钮后没有任何延迟(弹出窗口立即显示)。但是这里不能使用“click”,因为脚本会挂起......

这种延迟有什么解决方案吗? (真的不是一个大问题,只是问......)

1 个答案:

答案 0 :(得分:2)

它启动了一个单独的过程。

优点是它可以防止挂起,因为主进程可以立即处理。缺点是设置一个过程本身需要时间。

在任何使用单独进程或单独线程的语言中都可以找到平衡 - 在某些情况下提高响应速度和提高性能,但本身就有开销。

您可能会感兴趣http://itreallymatters.net/post/1366392123/debugging-and-improving-watirs-click-no-wait-method