代码之家  ›  专栏  ›  技术社区  ›  Ryan

使用Ruby与Watir和Webdriver强制加载浏览器

  •  1
  • Ryan  · 技术社区  · 6 年前

    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")
    

    /主页/。gem/ruby/2.4.1/gems/watir-6.9.1/lib/watir/elements/element。rb:618:in `raise_disabled:元素存在并已启用,但在30后超时 秒,等待#<Watir::TextField:located:true; {:id=>“new\u user\u username”,:tag\u name=>“input”}>不被禁用 (Watir::Exception::ObjectDisabledException)

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

    1 回复  |  直到 6 年前
        1
  •  4
  •   titusfortner    6 年前

    啊,这是一个可交互的错误。这些问题不容易提前解决。由于某些原因,chromedriver认为它无法将元素移动到可以输入文本的位置。

    你可以试试 browser.window.maximize browser.window.move_to(x,y) 或者你可以用Alex的 watir-scroll.gem 将元素放置在chromedriver可以使用的视口内。