C# 得到一个;将目标移出边界”;尝试在特定x和y坐标处单击时出现异常

C# 得到一个;将目标移出边界”;尝试在特定x和y坐标处单击时出现异常,c#,selenium,selenium-webdriver,automation,C#,Selenium,Selenium Webdriver,Automation,所以有些奇怪的东西,可能就是我不熟悉与MoveByOffset()方法相关的特定规则。 所以我有移动鼠标所需的x和y坐标,我知道它们是正确的坐标,因为当我的测试到达这行代码时,我可以看到它发生: actions.MoveByOffset(842663)。单击()。执行() 当我与一个单独的元素交互时,问题就出现了,我单击一个按钮打开一个抽屉来验证一些信息,一旦我的脚本验证了它需要什么,它就会关闭抽屉并尝试执行 actions.MoveByOffset(842663)。单击()。执行()再一次 我

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

actions.MoveByOffset(842663)。单击()。执行()

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

actions.MoveByOffset(842663)。单击()。执行()再一次

我不会滚动或真正改变屏幕上的任何东西,除了打开抽屉并关闭它

但在这一点上,我会得到例外 OpenQA.Selenium.WebDriverException:将目标移出边界 我现在有一个try-catch块,即使我捕获了异常,它仍然会向我抛出相同的异常

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

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#有这样的操作符