在Selenium和C#中移动物理鼠标指针

4

我需要移动我的物理鼠标指针。我正在使用Selenium和C#。

Actions action = new Actions(driver);
action.MoveByOffset(500, 500).ContextClick().Build().Perform();
//action.MoveToElement(element).ContextClick().Build().Perform();

MoveByOffset和MoveToElement都执行了右键单击操作,但鼠标指针没有移动。


为什么要物理上移动你的鼠标指针?请更新问题,并附上您确切的用例和相关的HTML。 - undetected Selenium
我需要展示鼠标指针移动并执行任务。 - Jessica David
但是你如何验证鼠标指针是否移动? - undetected Selenium
我不需要验证鼠标移动。我的测试已经在执行此操作。我只需要在视觉上显示鼠标移动即可。 - Jessica David
我认为这是很多工作,你可以在这里看一下:https://stackoverflow.com/questions/46231617/try-to-make-the-mouse-cursor-visible-in-a-selenium-test-case - Frank
你可以使用Sikuli进行鼠标移动。 - Ankur Singh
1个回答

3

从Java角度回答

不可以使用Actions类展示鼠标指针移动并执行任务。

Actions类的Java文档明确说明,在Selenium自动化期间,您应仅使用Actions类模拟复杂用户手势,而不是直接使用键盘鼠标

要直接与键盘鼠标交互即生成本机系统输入事件以进行测试自动化,需要使用Robot类。

您可以在Why do we need Robot class when we have Actions class in selenium中找到详细讨论。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接