我们说我有元素A和元素B.我已经启动了Selenium或PhantomJS,它还具有通过坐标集移动鼠标的能力。
我找到元素A(链接)和元素B(提交按钮)的形状。我绘制贝塞尔曲线或将预先记录的人类鼠标移动变换为从元素A到元素B.
我的直觉是mouseMove()
简单地传送"传送"光标到那个坐标集。这与实际使用鼠标有什么不同?
如果我跟踪用户'我的网站上的鼠标移动,假设他们使用复杂的移动曲线,他能使用自动化工具吗?
答案 0 :(得分:2)
根据我的经验,如果您从JS跟踪鼠标并且机器人只是使用硒来移动鼠标指针而没有“复杂的运动曲线”答案是肯定的。
<强>但是,强>
如果'bot'专门设计用于创建“复杂的运动曲线”或例如“重放录制的运动数据集”,我认为你不能。 (Similar question也有否定答案)。
<强>因此,强>
您可以设计一个“启发式解决方案”,但不是一个完美的解决方案。如果这是你想要的,我可以尝试给你一些想法。否则,如果您可以关注其他路径,我会建议您进行某种 selenium detection 或验证码。