首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby + selenium-webdriver actionbuilder

ruby + selenium-webdriver actionbuilder
EN

Stack Overflow用户
提问于 2012-08-03 02:41:58
回答 2查看 2.1K关注 0票数 2

我似乎不能让actionbuilder在selenium webdriver中工作。我正在尝试自动化一个使用Javascript的菜单。我需要将鼠标放在上面,然后移动并单击鼠标经过后出现的链接。

代码语言:javascript
复制
$driver.find_element(:id, "top_menu").find_elements(:tag_name, "a").each{ |a|
  if a.attribute('href').include? "javascript"
    then w = a 
    $driver.action.move_to(w).perform
    break
  end
}

我意识到我对这个元素的寻找有点模糊,而且不是一个最佳实践。我已经为这个元素请求了一个id。任何关于如何使用actionbuilder或自动化鼠标移动的更好方法的建议都将不胜感激。

这是我得到的错误。

` `generateErrorForNativeEvents':无法执行本机交互:无法加载本机事件组件。(Selenium::WebDriver::Error::InvalidElementStateError

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-07 01:44:15

不是很肯定,但我认为Firefox14.0.1的更新可能破坏了它。我们的测试也失败了。我还在想办法解决。

更新:是的,我降级到了Firefox 13.0.1,我的测试现在可以工作了。

票数 1
EN

Stack Overflow用户

发布于 2013-07-17 20:25:48

我遇到过与InvalidElementStateError相同的问题:无法执行本机交互:当我试图双击某个元素时,无法加载本机事件组件

当我添加以下几行代码时,问题就解决了

配置文件= Selenium::WebDriver::Firefox::Profile.new

profile.native_events = false

功能= Selenium::WebDriver::Remote::Capabilities.firefox(:firefox_profile =>配置文件)

@@driver = Selenium::WebDriver.for :火狐,:desired_capabilities =>功能

注意:-一旦你这样做了,Firefox测试现在将通过Javascript事件触发来模拟用户交互,而不是本地点击。这有它的优点和缺点。希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11783799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档