【发布时间】:2018-05-04 04:21:58
【问题描述】:
当我运行以下代码时,我等待元素超时:
require 'watir'
require 'webdrivers'
browser = Watir::Browser.new
browser.goto "http://watir.com/examples/forms_with_input_elements.html"
browser.text_field(:id, "new_user_username").set("test")
/home/.gem/ruby/2.4.1/gems/watir-6.9.1/lib/watir/elements/element.rb:618:in `raise_disabled':元素存在并启用,但在 30 后超时 秒,等待#"new_user_username", :tag_name=>"input"}> 不被禁用 (Watir::Exception::ObjectDisabledException)
chrome 窗口启动,但似乎没有加载。我可以在它启动后通过调整窗口大小来强制它加载,一切正常,但我不应该采取任何手动步骤。是否有自动方式强制浏览器加载?
【问题讨论】:
-
这很奇怪;我刚刚验证它对我有用。您可以使用
Selenium::WebDrivers.logger.level = :info运行它并将结果放入要点中吗?如果页面没有加载,它不应该找到该元素,然后抱怨它被禁用。我想看看它是如何实现这一点的。实际上也可以使用Watir.logger.level = :debug。 -
我添加了跟踪并让它运行一秒钟,然后再调整窗口大小。 gist.github.com/ryanesch/9b589035a1ac0abbd50794dad7219d21
标签: ruby webdriver watir watir-webdriver