V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sickoo
V2EX  ›  Python

求助 playwright 解决滑块验证码的问题

  •  
  •   sickoo · 11 天前 · 890 次点击

    爬虫目标网站是使用滑块验证码,于是在 google 搜索到一篇 opencv+playwright 解决滑动验证码的技术帖

    复制粘贴改动后(对不起我是菜鸡),代码大致可运行成功,但是最后一步判断滑块是否验证成功出了问题

    原帖给出是判断验证码框( iframe )内滑块元素是否存在来判断是否成功,但是程序卡在这 locator.wait_for() 而导致 timeout 超出 30 秒报错

    通过定位页面元素,该滑块元素一直存在 DOM ,好像这个页面元素判断方法出了问题,那么我该怎么改动呢?

    captcha_iframe.get_by_alt_text("slider").wait_for(timeout=2000)
    
    9 条回复    2024-05-08 14:44:52 +08:00
    liuhai233
        1
    liuhai233  
       11 天前 via Android
    建议先 debug 找个这个元素,再考虑模拟滑动
    Motorola3
        2
    Motorola3  
       11 天前
    一般的滑块可以通过保存大量的图和完成坐标来实现,更强一点的建议抓请求拿到 base64 然后走第三方过 拿到结果 token 后再发请求
    jpyl0423
        3
    jpyl0423  
       11 天前
    信息太少了,页面结构不清楚,也不知道你是要判断存在还是不存在的元素
    sickoo
        4
    sickoo  
    OP
       11 天前 via iPhone
    忘了补充爬虫测试网址: https://www.igamebuy.com

    点击注册,点击验证验证码,就能看到滑块验证码框

    @jpyl0423 存在的元素
    sickoo
        5
    sickoo  
    OP
       11 天前 via iPhone
    @liuhai233 已经找到了,但是判断成功这一块代码逻辑有待完善
    sickoo
        6
    sickoo  
    OP
       11 天前 via iPhone
    @Motorola3 了解
    zh826256645
        7
    zh826256645  
       11 天前
    opencv 有个模板匹配,你拿到滑动的缺口图片当模板,放入整张图片去匹配就行能得出位置了
    sickoo
        8
    sickoo  
    OP
       11 天前
    @zh826256645 这个代码已经做到了,就是差最后判断成功这一步。
    sickoo
        9
    sickoo  
    OP
       11 天前
    好的解决了,拦截请求干碎了这个滑块验证码 结帖
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2368 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:02 · PVG 23:02 · LAX 08:02 · JFK 11:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.