在Selenium中模拟鼠标移动,而无需实际移动鼠标,Python

4

我正在尝试在Selenium上自动化一些需要鼠标移动的任务,但是我仍然希望能够在我的另一个屏幕上使用鼠标进行操作,因此是否可能模拟鼠标移动,而不控制我的正常鼠标?

我已经在谷歌上搜索过了,但没有实质性的结果,所以很抱歉没有附上任何代码,但我现在甚至没有一个起点。


你可以在操作之间加入一些“sleep”函数,以便给自己留出时间来执行手动操作。 - Gsk
问题在于我想要在脚本运行的同时继续工作,甚至同时运行两个这样的脚本。 - no nein
如果您不希望脚本拦截光标,可以尝试在另一个显示器上运行它。如果您使用的是Linux系统,例如,您可以使用Xephyr或其他X11实现。 - Andersson
非常遗憾,我不在Linux上,我在Windows上,你有什么想法吗? - no nein
对于Xephyr,需要一台不错的电脑才能运行吗?还是我可以在树莓派上运行它? - no nein
显示剩余2条评论
1个回答

2
尝试使用webbot库。它是在selenium上构建的,可以处理这些类型的自动化任务。以下是一个小的代码片段。
from webbot import Browser 
web = Browser()
web.go_to('google.com') 
web.click('Sign in')
web.type('mymail@gmail.com' , into='Email')
web.click('NEXT' , tag='span')
web.type('mypassword' , into='Password' , id='passwordFieldId')
web.click('NEXT' , tag='span') # you are logged in

针对您的具体问题,您可以通过鼠标滚动来模拟鼠标移动,如下所示:
web.scrolly(100) ; 

这个程序是否也能模拟鼠标移动,同时我仍然能够使用我的正常鼠标? - no nein
当然可以。这就是我所说的。实际上,在构造函数中有一个选项,您可以使整个自动化在控制台内运行(而不显示浏览器窗口)。 - Natesh bhat
太棒了,非常感谢!那么Webbot产生的鼠标移动会被网站上的Javascript捕获为正常的鼠标移动吗? - no nein
鼠标滚轮可以。是的。如果这个答案对您有帮助,请将其标记为答案。 - Natesh bhat
但是也适用于常规的鼠标移动和点击等操作吗? - no nein
是的,这些功能都是内置的,而且非常简单易用。请参阅文档:https://webbot.readthedocs.io/en/latest/ - Natesh bhat

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