强制浏览器使用带有Watir和Webdriver

时间:2017-11-20 20:38:52

标签: ruby webdriver watir watir-webdriver

当我运行以下代码时,我等待元素超时:

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之后超时   秒,等待#< Watir :: TextField:位于:true;   {:id =>“new_user_username”,:tag_name =>“input”}>不被禁用   (的Watir ::异常:: ObjectDisabledException)

Chrome窗口启动,似乎没有加载。我可以通过在窗口启动后调整窗口大小来加载它,一切正常,但我不应该采取任何手动步骤。是否有强制浏览器加载的自动方式?

1 个答案:

答案 0 :(得分:3)

啊,这是一个可互动的错误。那些不容易被提前弄清楚。出于某种原因,chromedriver并不认为它可以将元素移动到可以输入文本的位置。

您可以尝试使用browser.window.maximizebrowser.window.move_to(x,y),也可以使用Alex的优秀watir-scroll.gem将元素放置在chromedriver可以使用的视口内。