每当我尝试与Watir元素交互时,我都会收到以下错误。
/Library/Ruby/Gems/2.0.0/gems/watir-6.0.1/lib/watir/wait/timer.rb:40:in `current_time': undefined method `now' for Watir::Time:Class (NoMethodError)
from /Library/Ruby/Gems/2.0.0/gems/watir-6.0.1/lib/watir/wait/timer.rb:6:in `initialize'
from /Library/Ruby/Gems/2.0.0/gems/watir-6.0.1/lib/watir/elements/element.rb:656:in `new'
from /Library/Ruby/Gems/2.0.0/gems/watir-6.0.1/lib/watir/elements/element.rb:656:in `element_call'
from /Library/Ruby/Gems/2.0.0/gems/watir-6.0.1/lib/watir/elements/element.rb:114:in `click'
from fund_cc.rb:8:in `<main>'
这是我的代码:
require 'watir'
# require 'time'
b = Watir::Browser.new(:chrome)#, :url => "http://localhost:9515")
b.goto "https://www.bankofamerica.com/"
contact_us= b.link(:text, "Contact Us")
contact_us.click
有谁知道如何解决这个问题?
答案 0 :(得分:1)
我能够重现这种行为。您可以通过调整current_time
中的/lib/watir/wait/timer.rb
方法来在本地修补您的宝石:
def current_time
::Time.now.to_f # was Time.now.to_f
end
我建议在https://github.com/watir/watir/issues上记录问题。
答案 1 :(得分:1)
这应该在版本6.0.2中修复。
来自Titus Fortner on the Watir-General mailing list:
最新版本的Watir尝试使用单调时间 支持,看起来我们抓住错误的时间类在哪里 它不受支持。
我刚刚更新并将修复程序推送到6.0.2。你应该能够做到 现在捆绑更新。