我正在将 Selenium 2 与 FirefoxDriver 一起使用。任务是将元素移动几个像素。我这样编写任务:
val action = (new Actions(driver)).clickAndHold(el).moveByOffset(3,1).release().perform()
记录 mouseDown()、mouseMove() 和 mouseUp() 事件。所以我收到以下输出:
mouseDown at 267 133
mouseMove at 270 134
mouseMove at 267 133
mouseUp at 267 133
看起来 Selenium 在项目上调用 mouseDown,然后将其移动到指定位置,然后将其移回,然后调用 mouseUp。这很奇怪。
事实证明,原因是在release()调用中,因为当我调用它时:
val action = (new Actions(driver)).clickAndHold(el).moveByOffset(3,1).perform()
我明白了:
mouseDown at 267 133
mouseMove at 270 134
如何让Selenium在正确的位置调用mouseUp?
最佳答案
听起来像是一个错误...可能的解决方法是:
val action = (new Actions(driver)).dragAndDropToOffset(el, el.Location.X + 3, el.Location.Y + 1).perform()
关于 Selenium 2 : moveByOffset() and consecutive release() - strange positioning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735719/