我有一个测试,我需要使用动作点击。我不能直接点击我需要的元素,因为它是一个:: before元素,而它之前的元素是0x14,所以它不可交互。我直接使用watir-webdriver而不是selenium,这就是使用wd
的原因。它访问Selenium的对象而不是Watir的。
我有一个元素,我将使用父元素找到我需要点击的位置。
$browser.wd.action
.move_to(element.parent.wd)
.move_by(12, 0)
.click
.perform
此代码在Chrome中运行良好,但在Firefox中没有点击任何内容。两个缩放都设置为100%。相对于父级,我需要点击的对象位于同一位置。
我不知道还有什么要去看。
我试过这个:Firefox 29上的Selenium 2.42和Firefox 34上的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
单击时没有运气。
我在网站上尝试使用鼠标移动并点击:http://www.escapemotions.com/experiments/flame/。这是一个交互式绘图程序。鼠标移动得很好,click_and_hold似乎工作正常,而且drag_and_drop_by也能正常工作。我在点击时遇到了麻烦。
链接click_and_hold.release有效。我要提交2.44的缺陷。
答案 0 :(得分:0)
似乎是一个缺陷。可以链接click_and_hold和release来模拟点击。
driver.action.click_and_hold.release.perform
记录缺陷:https://code.google.com/p/selenium/issues/detail?id=8353