我似乎不能让actionbuilder在selenium webdriver中工作。我正在尝试自动化一个使用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
谢谢
发布于 2012-08-07 01:44:15
不是很肯定,但我认为Firefox14.0.1的更新可能破坏了它。我们的测试也失败了。我还在想办法解决。
更新:是的,我降级到了Firefox 13.0.1,我的测试现在可以工作了。
发布于 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事件触发来模拟用户交互,而不是本地点击。这有它的优点和缺点。希望它能帮上忙!
https://stackoverflow.com/questions/11783799
复制相似问题