Selenium的mouseMove()和实际的鼠标移动有什么区别?

时间:2016-09-26 02:34:56

标签: javascript jquery security selenium automation

我们说我有元素A和元素B.我已经启动了Selenium或PhantomJS,它还具有通过坐标集移动鼠标的能力。

我找到元素A(链接)和元素B(提交按钮)的形状。我绘制贝塞尔曲线或将预先记录的人类鼠标移动变换为从元素A到元素B.

我的直觉是mouseMove()简单地传送"传送"光标到那个坐标集。这与实际使用鼠标有什么不同?

如果我跟踪用户'我的网站上的鼠标移动,假设他们使用复杂的移动曲线,他能使用自动化工具吗?

1 个答案:

答案 0 :(得分:2)

根据我的经验,如果您从JS跟踪鼠标并且机器人只是使用硒来移动鼠标指针而没有“复杂的运动曲线”答案是肯定的

<强>但是,

如果'bot'专门设计用于创建“复杂的运动曲线”或例如“重放录制的运动数据集”,我认为你不能。 (Similar question也有否定答案)。

<强>因此,

您可以设计一个“启发式解决方案”,但不是一个完美的解决方案。如果这是你想要的,我可以尝试给你一些想法。否则,如果您可以关注其他路径,我会建议您进行某种 selenium detection 验证码