本次笔记主要针对某企业信息查询网站做的滑块验证,内容为简单的滑块,主要记录出现的几种问题。
一、解决方案介绍
1、selenium + webdriver
本方案为最常用的解决方案,但是在 Google Chrome 版本 79 会遇到问题,无法抹除 webdriver 的指纹,可适当降低 Chrome 的版本来解决,还可以使用 mitmproxy 来过滤js,但是也难以解决这个问题。比较你需要先知道指纹所在的js,以及所有特征字符串。
2、pyppeteer
本方案可以绕过 webdriver 识别,推荐使用,但是无头模式我没有成功,业务也不需要无头模式,希望有解决方案的同学可以告知一下。
二、selenium + webdriver
1、代码
#coding:utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.action_chains import ActionChains
# 滑块验证
def get_track(distance):
track = []
current = 0
mid = distance * 3 / 4
t = 0.2
v = 0
while current < distance:
if current < mid:
a = 2
else:
a = -3
v0 = v
v = v0 + a * t
move = v0 * t &#