我试图告诉我的watir脚本等待一个ajax注入的登录框打开。我正在使用watir-webdriver,并在Chrome中进行测试。如下所示(简化)脚本中,我无法使wait_until
工作。
require "rubygems"
require "watir-webdriver"
b = Watir::Browser.new(:chrome)
site = "www.example.com"
b.goto site
puts "Click on Sign In button"
b.link(:id, 'btnLogin').click
puts "Waiting for the username/password dialog to show up"
# Below line does *not* work
# Throws this error: "uninitialized constant Watir::Waiter (NameError)"
Watir::Waiter::wait_until { b.text_field(:id, 'username').exists? }
# Below line does *not* work
# Throws this error: "undefined method `wait_until' for main:Object (NoMethodError)"
wait_until { b.text_field(:id, 'username').exists? }
# Below line *does* work, but I don't want to use it.
sleep 1 until b.text_field(:id, 'username').exists?
Watir::Waiter
是只能用于IE浏览器的类吗?或者我做错了什么,sleep 1
等待方法完全正常。我是Ruby和watir的新手,昨天刚刚开始学习,所以我有点担心这可能是我的新手问题。
如果有关系的话,我正在使用Mac(OSX v.10.6.5)。
wait_until_present
和when_present
方法。您所展示的内容是否有在线资源可供参考?我的谷歌搜索似乎没什么用... - karim79