【问题标题】:When trying to use watir's #move_to method, getting "TypeError: expected Selenium::WebDriver::Element, got #<Watir::Button ...>"尝试使用 watir 的 #move_to 方法时,得到“TypeError: expected Selenium::WebDriver::Element, got #<Watir::Button ...>”
【发布时间】:2016-05-19 00:50:09
【问题描述】:

在找到thisstackoverflow q/a 关于如何根据其坐标单击元素后,我试图这样做以单击我在this 问题中讨论过的按钮。目前不得不为 mac osx 使用 cliclick shell 命令,这很笨重。无论如何,这是我的 Gemfile 中按顺序显示与 watir 相关的 gem 的部分——也许我需要的 gem 比必要的多?

gem 'selenium-webdriver'#, '2.45.0'
gem 'selenium'#, '0.2.11'
gem 'watir', '5.0.0'

这是我为得到错误而运行的完整命令:

b = Watir::Browser.new #defaults to firefox
#...
element = b.span(:text => "Confirm Selection")
b.driver.action.move_to(element, 15, 15).click.perform
#=>
TypeError: expected Selenium::WebDriver::Element, got #<Watir::Button:0x39fe077c86d90f06 located=false selector={:id=>"id_280", :tag_name=>"button"}>:Watir::Button
    from /Users/davo/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/common/mouse.rb:86:in `assert_element'
    from /Users/davo/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/common/mouse.rb:69:in `move_to'
    from (irb):79
    from /Users/davo/.rvm/gems/ruby-2.2.1/gems/railties-4.0.0/lib/rails/commands/console.rb:90:in `start'
    from /Users/davo/.rvm/gems/ruby-2.2.1/gems/railties-4.0.0/lib/rails/commands/console.rb:9:in `start'
    from /Users/davo/.rvm/gems/ruby-2.2.1/gems/railties-4.0.0/lib/rails/commands.rb:64:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

如果有更多细节有帮助,请告诉我。

系统详情:

  • 导轨 4.0.0
  • mac osx el capitan 10.11.1
  • 火狐46.0.1
  • 硒宝石 0.2.11
  • selenium-webdriver gem 2.53.0
  • 瓦提尔宝石 5.0.0
  • watir-webdriver gem 0.9.1

【问题讨论】:

    标签: ruby-on-rails selenium selenium-webdriver watir


    【解决方案1】:

    问题是 Watir::Element 正在传递给 Selenium 的操作构建器。动作生成器只知道Selenium::WebDriver::Element

    要将Watir::Element 转换为Selenium::WebDriver::Element,请使用wd 方法:

    element.wd
    

    move_to 调用应该是:

    b.driver.action.move_to(element.wd, 15, 15).click.perform
    

    【讨论】:

      猜你喜欢
      • 2018-04-01
      • 1970-01-01
      • 2012-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多