【问题标题】:Getting a "move target out of bounds" exception when trying to click at a specific x and y coordinate尝试单击特定 x 和 y 坐标时出现“移动目标越界”异常
【发布时间】:2021-01-23 03:00:34
【问题描述】:

所以有些奇怪的东西,可能只是我不熟悉与 MoveByOffset() 方法相关的特定规则。 所以我也有移动鼠标所需的 x 和 y 坐标,我知道它们是正确的坐标,因为当我的测试到达这行代码时,我实际上可以看到它发生了:

actions.MoveByOffset(842, 663).Click().Perform();

当我与单独的元素交互时会出现问题,我单击按钮打开抽屉以验证一些信息,一旦我的脚本验证了它需要的内容,它就会关闭抽屉并尝试执行

actions.MoveByOffset(842, 663).Click().Perform(); 再次。

除了打开抽屉并关闭它之外,我不会滚动或真正更改屏幕上的任何内容。

但在这一点上我会遇到异常 OpenQA.Selenium.WebDriverException:将目标移出边界 我目前将它放在 try catch 块中,即使我捕获了异常,它仍然会向我抛出相同的异常。

任何帮助或建议或信息将不胜感激

【问题讨论】:

    标签: c# selenium selenium-webdriver automation


    【解决方案1】:

    MoveByOffset(x, y) 表示从当前位置移动偏移量。
    执行MoveByOffset(xOff, yOff),您将指针移动到(currentX+xOff; currentY+yOff)
    所以第一次是 0+842 和 0+663,第二次是 842+842 和 663+663。

    如果你需要去元素使用moveToElement()
    为确保您没有到达视口边界,您可以使用 driver.manage().window().getSize() 之类的内容。
    是Java代码,但我相信c#有这样的操作符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多