爬虫目标网站是使用滑块验证码,于是在 google 搜索到一篇 opencv+playwright 解决滑动验证码的技术帖
复制粘贴改动后(对不起我是菜鸡),代码大致可运行成功,但是最后一步判断滑块是否验证成功出了问题
原帖给出是判断验证码框( iframe )内滑块元素是否存在来判断是否成功,但是程序卡在这 locator.wait_for()
而导致 timeout 超出 30 秒报错
通过定位页面元素,该滑块元素一直存在 DOM ,好像这个页面元素判断方法出了问题,那么我该怎么改动呢?
captcha_iframe.get_by_alt_text("slider").wait_for(timeout=2000)
1
liuhai233 204 天前 via Android
建议先 debug 找个这个元素,再考虑模拟滑动
|
2
ZnductR0MjHvjRQ3 204 天前
一般的滑块可以通过保存大量的图和完成坐标来实现,更强一点的建议抓请求拿到 base64 然后走第三方过 拿到结果 token 后再发请求
|
3
jpyl0423 204 天前
信息太少了,页面结构不清楚,也不知道你是要判断存在还是不存在的元素
|
4
sickoo OP |
7
zh826256645 204 天前
opencv 有个模板匹配,你拿到滑动的缺口图片当模板,放入整张图片去匹配就行能得出位置了
|
8
sickoo OP @zh826256645 这个代码已经做到了,就是差最后判断成功这一步。
|
9
sickoo OP 好的解决了,拦截请求干碎了这个滑块验证码 结帖
|