Selenium ActionDriver.click在Firefox中不工作

Selenium ActionDriver.click在Firefox中不工作,firefox,selenium,Firefox,Selenium,我有一个测试,我需要使用动作点击。我不能直接单击我需要的元素,因为它是一个::before元素,而它之前的元素是0x14,所以它不可交互。我使用的是watir webdriver而不是selenium,这就是为什么使用wd。它访问Selenium的对象,而不是Watir的对象 我有一个元素,我将使用父元素查找需要单击的位置 $browser.wd.action .move_to(element.parent.wd) .移动_(12,0) 点击 表演 这段代码在Chrome中运行良好,但在Fir

我有一个测试,我需要使用动作点击。我不能直接单击我需要的元素,因为它是一个::before元素,而它之前的元素是0x14,所以它不可交互。我使用的是watir webdriver而不是selenium,这就是为什么使用
wd
。它访问Selenium的对象,而不是Watir的对象

我有一个元素,我将使用父元素查找需要单击的位置

$browser.wd.action
.move_to(element.parent.wd)
.移动_(12,0)
点击
表演
这段代码在Chrome中运行良好,但在Firefox中没有点击任何东西。两个缩放都设置为100%。相对于父对象,我需要单击的对象位于同一位置

我不知道还能去哪里找

我已经在Firefox29上试用过Selenium 2.42,在Firefox34上试用过Selenium 2.44

提前谢谢

更新


我已降级到FF 31.1.1,并更改了驱动程序实例化代码以包含本机事件:

if $BROWSER == :firefox
  profile = Selenium::WebDriver::Firefox::Profile.new
  profile.native_events = true
  return Watir::Browser.new $BROWSER, profile: profile
else
  return Watir::Browser.new $BROWSER
end
点击没有运气

我正在一个网站上尝试,在那里我可以看到鼠标移动和点击:。这是一个交互式绘图程序。鼠标移动得很好,单击和按住似乎可以正常工作,拖动和拖放也可以正常工作。我一点击就遇到麻烦


链接单击并按住。释放有效。我将提交一个2.44的缺陷

似乎是一个缺陷。作为一种变通方法,单击和按住和释放可以链接以模拟单击

driver.action.click_and_hold.release.perform

缺陷已被记录:

请检查是否为Firefox启用了本机事件?还可以尝试使用Selenium 2.44的Firefox 32或33(在这个版本中,Firefox 34没有本机事件支持)。我看了一下您随错误报告提交的脚本。如果将
sleep 1
增加到更长的值(例如
sleep 5
),它的行为是否符合预期?如果是的话,我会给你一个解释。(我自己无法轻松测试,因为我不使用Ruby。)睡眠的增加不会改变行为。那么,我不知道那里发生了什么。在我的系统上,将您的脚本转换为Python,我可以通过在
sleep 1
行中弄乱睡眠时间(相当于Python)来重现您的问题。更长的睡眠时间使问题消失。我又想到了另一件事。如果您在创建驱动程序的行之后添加命令
将driver.capabilities[:native_events]
(我相信这是您使用Ruby检查本机事件是打开还是关闭的方式),它是真是假?请注意,即使您请求启用本机事件,如果Selenium无法使用本机事件,它也会自动忽略该标志。在我编写的脚本中,我将配置文件的本机事件设置为true,并将其传递给驱动程序。