Python 蟒蛇-类人的老鼠行为
我正在尝试使用Python 蟒蛇-类人的老鼠行为,python,pyautogui,autopy,Python,Pyautogui,Autopy,我正在尝试使用pyautogui或autopy 你们中有谁知道或者能够提供一个好的方法吗 假设我想从(0,0)移动到(56200)。 如果我使用pyautogui.moveTo(),它就会跳到那里。如果我使用autopy.mouse.smooth\u move(),它可以完成这项工作,但移动非常假 我希望它移动到屏幕上的随机节点,但最终到达目的地。.moveTo()还有两个参数可以传递,以帮助模拟人类行为,持续时间和tween。第一个是到达指定点所需的时间,第二个是改变其行为,例如:快速开始和慢
pyautogui
或autopy
你们中有谁知道或者能够提供一个好的方法吗
假设我想从(0,0)移动到(56200)。
如果我使用pyautogui.moveTo()
,它就会跳到那里。如果我使用autopy.mouse.smooth\u move(),它可以完成这项工作,但移动非常假
我希望它移动到屏幕上的随机节点,但最终到达目的地。.moveTo()
还有两个参数可以传递,以帮助模拟人类行为,持续时间和tween
。第一个是到达指定点所需的时间,第二个是改变其行为,例如:快速开始和慢速结束、慢速开始和快速结束等
查看此文件以供参考
我还导入了random
来创建一个随机浮点值,以传递duration
参数,我认为这有助于使鼠标具有更人性化的行为
from random import *
import pyautogui as py
py.moveTo(720, 360, uniform(0.6, 2.7), py.easeOutQuad)
py.moveTo(450, 900, uniform(0.6, 2.7), py.easeOutBack)
py.moveTo(360, 720, uniform(0.6, 2.7), py.easeInOutQuad)
如果您使用的是IDE,请键入pyautogui.ease
(或py.ease
),您将看到一个弹出窗口,其中显示了您可以尝试的所有变体
作为旁注,人类鼠标行为通常有一条曲线,并且.moveTo()
以直线移动。这不会是一个问题,除非你正在与之交互的任何程序都不想要机器人行为(比如在线视频游戏)。他们可能会检测到您的所有移动都是线性的,然后禁止您的帐户,因此请注意(或者可能会制作您自己的功能,为鼠标移动添加曲线)。这听起来像是一个机器学习问题,您应该在正常使用过程中记录鼠标行为,然后尝试模拟它。我认为没有现成的软件包。您是否尝试过使用pyautogui.moveTo()
以小增量将鼠标移动到目标位置,并对该位置应用一个小的随机偏移量?@TedKleinBergman yah!实际上我现在正在尝试,但问题是如果我把pyautogui.moveTo()
放在一个while循环中,它会做得非常慢,哈哈。它就像每0.05移动1个像素seconds@Denise您应该在问题中提供该代码;这可能有助于我们找出问题所在。