前言
主要是提供一个思路,仅供学习
一、某宝滑块验证
使用playwright进行滑动,为什么不使用selenium呢,那是因为selenium已经太成熟,被检测的特征点太多了,不太好过,即使现在过了,说不准啥时候就会又新的检测点被检测出来,所以以自己的能力去使用selenium过某宝滑块花费的时间成本太多,不划算
二、使用步骤
1.具体实现过程
代码如下(示例):
#导入playwright的库
from playwright.sync_api import Playwright, sync_playwright
browser = playwright.chromium.launch_persistent_context(
# 指定本机用户缓存地址
user_data_dir="D:\\chrome_userx\\hh",
# 接收下载事件
accept_downloads=True,
# 设置 GUI 模式
headless=False,
# headless=True,
bypass_csp=True,
slow_mo=100,
channel="chrome",
# 跳过反爬检测
args=['--disable-blink-features=AutomationControlled']
)
page = browser.pages[0]
#add_init_script 使用这个方法加载js文件,这个js文件是过检测的
page.add_init_script(get_js_code())
'''
这里就是写一些登录操作
'''
#当出现上面的验证码时:
首先使用playwright 滑动滑块到最右边,不松开滑块
使用screenshot方法分别截图,文字部分和图片部分,
文字部分使用百度的识别【安装开源项目到本地,网上百度方法】
图片部分就需要使用YOLO—V5【网上百度方法】训练数据,识别完成后返回坐标
最后和上一篇文章一样执行操作就好了,不过要注意的是,需要把生成的贝塞尔曲线倒叙滑动
总结
注意,使用yolo-v5训练数据,数据量越大训练出来的结果越准确,越是能够模拟人为操作,越能过检测