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