淘宝模拟登陆大概分为:点击登陆标签、点击账号输入框、点击密码输入框、滑动滑块解锁、点击登陆。最近发现最重要的一条:窗口尺寸最大化。.....
主要问题在滑动滑块解锁,首先要定位滑块位置,确定滑块需要移动多少距离,其次创建动作链对象,最后点住滑块,移动,
虽然说有的登陆页面在滑块滑动这貌似有着人机辨别,会根据滑动滑块的速度是否符合人的滑动规律,来判断是否是人为滑动。但是淘宝这貌似不是很严格,所以直接利用selenium的根据唯一move就完成了。最后点击登陆即可。还有一个重要的地方是移动完后停顿一下再释放,这也算是验证了一下是否为人为滑动。
输出源代码利用了selenium的显示等待,即设定一个时间长度,若在这个时间内出现想要的元素,则继续进行,若在时间段内没有出现这个元素则抛出异常。 等待利用了WebDriverWait,等待元素出现利用了expected_conditions,选择选择器利用了by。