『python爬虫』26. selenium与超级鹰处理复杂验证码的处理(保姆级图文)


欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中

1. 图片选择类验证码

我们这里查看超级鹰文档
图片验证码返回的是一个 dic 结构为 x1,y1|x2,y2|x3,y3 ····
表示一个个要点击选择的图片的坐标,使用一个for循环遍历即可
在这里插入图片描述

# 用超级鹰去识别图片验证码
dic = chaojiying.PostPic(verify_img_element.screenshot_as_png, 软件id)
result = dic['pic_str']  # x1,y1|x2,y2|x3,y3  识别图像验证码得到的是一个个的
rs_list = result.split("|")
for rs in rs_list:  # x1,y1
    p_temp = rs.split(",")
    x = int(p_temp[0])
    y = int(p_temp[1])

2. 滑块验证码

取得滑块的xpath //*[@id="nc_1_n1z"]
在这里插入图片描述

  • 整个滑块宽度 340,我们一般拖动300就够了
    在这里插入图片描述

ActionChains是一种事件链库,链式编程,通过.连接各个任务指令,顺次执行,任务链末尾是.perform()

drag_and_drop_by_offset表示按下并拖拽参数为(对象,拖拽x,拖拽y)

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver import Chrome

btn = web.find_element_by_xpath('//*[@id="nc_1_n1z"]') #找到滑块对象
ActionChains(web).drag_and_drop_by_offset(btn, 300, 0).perform() #滑块向右移动300

3. 滑块出错,不加载

原因是被检测到是selenium自动化的操作了。

  • chrome的版本大于等于88
option = Options()
# option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_argument('--disable-blink-features=AutomationControlled')

web = Chrome(options=option)
  • chrome的版本号如果小于88,其实现在很少用这种浏览器了
web = Chrome()

web.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
   navigator.webdriver = undefined
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
web.get(ur)

总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2023 mzh

Crated:2023-3-1

欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中
『未完待续』


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发现你走远了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值