【发布时间】:2014-09-30 20:08:43
【问题描述】:
我的页面上有一个画布元素,我想单击此画布中的特定 (x, y) 坐标。我使用 watir-webdriver:
element = browser.driver.find_element(:id, 'canvas')
browser.driver.action.move_to(element).move_by(x, y).click().perform
但是这段代码只是点击了画布的中心,而不是指定的 (x, y) 坐标。它有什么问题?
更新: 所以现在我使用这个代码:
element = browser.driver.find_element(:id, 'canvas')
browser.driver.action.move_to(element, x, y).perform
browser.driver.click.perform
但它仍然点击画布的中心,而不是指定的 (x, y) 坐标...有什么想法吗?
UPD 2:这只是 FIREFOX 问题(在 Chrome 中运行良好)
【问题讨论】:
-
我已根据您的 FF 问题更新了我的答案。让我知道是不是这样。
-
我正在使用 selenium-webdriver 2.37.0 和 Firefox 25.0.1。我的操作系统是 Ubuntu 13.04。
-
尝试使用 FF 24 available here。我用 FF 25 测试,发现它不支持原生事件。
-
是的!它现在适用于 FF 24。非常感谢!关于原生事件在 25 年不起作用的任何想法?
-
我相信本机事件支持仅适用于 FF 的 ESR(扩展支持版本)版本。如果一个版本不是 ESR,那么将不支持它的本地事件。 FF 25 不是 ESR,所以不支持。你可以询问 Selenium 是否有本地事件可用。最高 2.37 的版本有一个错误,使这个查询不可靠,但我已经输入了一个 patch 已被接受。所以下一个版本应该是可靠的。
标签: ruby canvas selenium watir watir-webdriver