selenium利用图鉴破滑动验证码,登录信息门户

这篇具有很好参考价值的文章主要介绍了selenium利用图鉴破滑动验证码,登录信息门户。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
import requests
import json
def base64_api(img,typeid,uname='18720180853', pwd='20010119yx'):
    # with open(img, 'rb') as f:
    #     base64_data = base64.b64encode(f.read())
    #     b64 = base64_data.decode()
    data = {"username": uname, "password": pwd, "typeid": typeid, "image": img}
    result = json.loads(requests.post("http://api.ttshitu.com/predict", json=data).text)
    if result['success']:
        return result["data"]["result"]
    else:
        #!!!!!!!注意:返回 人工不足等 错误情况 请加逻辑处理防止脚本卡死 继续重新 识别
        return result["message"]
    return ""


path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
browser.get('https://id.hqu.edu.cn/authserver/login?service=http%3A%2F%2Fehall.hqu.edu.cn%2Flogin%3Fservice%3Dhttp%3A%2F%2Fehall.hqu.edu.cn%2Fnew%2Findex.html')
time.sleep(3)
browser.find_element_by_xpath('//*[@id="username"]').send_keys(user)
browser.find_element_by_xpath('//*[@id="password"]').send_keys(password)
browser.find_element_by_xpath('//*[@id="login_submit"]').click()
time.sleep(2)

verify_code = browser.find_element_by_xpath('//*[@id="sliderDiv"]/canvas[2]')#定位验证码图片
tu = verify_code.screenshot_as_base64  # 获取验证码bs4格式
verify_code.screenshot('tu.png')   # 获取验证码的图
x = base64_api(tu,33)

time.sleep(1)

spider = browser.find_element_by_xpath('//*[@id="sliderDiv"]/div/div[2]/div')
action = webdriver.ActionChains(browser) # 启动动作链
action.click_and_hold(spider).perform() # 按住滑块不松开
action.move_by_offset(x,0) # 开始滑动
action.release().perform() # 释放滑块

验证码类型:

selenium利用图鉴破滑动验证码,登录信息门户,selenium,测试工具

总结:

1.学习到了selenium中的动作链模块。

首先 from selenium.webdriver.common.action_chains import ActionChains导入包

使用方法:

首先启动动作链:action = webdriver.ActionChains(browser)

action.click_and_hold(定位滑块的位置).perform() # 按住滑块

action.move_by_offset(x坐标,y坐标)  # 移动滑块到指定位置

action.release().perform() # 释放滑块

注意每一条语句都要加.perform()表示执行。文章来源地址https://www.toymoban.com/news/detail-818223.html

到了这里,关于selenium利用图鉴破滑动验证码,登录信息门户的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium爬虫|破解滑动验证码以极验为例

      爬虫访问一些网站遇到滑动验证码解决方案 这里是用selenium做模拟,如果是requests可以封装这个登录方法来获取登录后的cookies也是可以用的。 1 先讲思路,分析流程  我们输入账号密码后点击登录 ,出现的是第一张图的状态。我们要做的是模拟滑动到缺口处。 首先我们要

    2024年02月14日
    浏览(36)
  • 使用Selenium破解滑动验证码的原理及解决思路

    1、获取页面元素信息: 使用Selenium打开目标网页,并通过相关方法获取滑块、背景图等元素的位置和属性信息。可以使用Selenium提供的定位方法(如xpath、CSS选择器等)来找到这些元素。 可以使用find_element_by_xpath或find_element_by_css_selector等方法来获取滑块和背景图元素的位置和

    2024年02月09日
    浏览(38)
  • Selenium滑动验证码破解(缺口对应却无法通过,需要做鼠标轨迹模拟)

    平台: 所涉及内容: 滑动验证码破解原理: 解决场景: 正常情况下,滑动验证码都是在canvas画出来的(残图一般是JS通过对后台返回的完整图片剪裁而来),在网页代码中可以找到对应信息 残图直接画在Canvas上,因此需要通过js代码将其导出,获取图片的base64数据(错存在直

    2024年02月12日
    浏览(31)
  • python爬虫 scrapy+selenium+webdriver实现鼠标滑动破解阿里云盾快验证

    在爬取jianshu文章的时候发现,jianshu竟然买了阿里云的盾块验证!!!很是头疼,虽然说没有其他图片匹配的那么麻烦,但是阿里云的人机验证和算法真的是顶尖的,查阅了多个资料最后没办法,才实现用webdriver模拟鼠标去通过验证 首先我们需要安装webdriver驱动和Google Chrom

    2024年02月03日
    浏览(37)
  • 爬虫日常-selenium登录12306,绕过验证

    hello兄弟们,这里是无聊的网友。愉快的周末过去了,欢迎回到学习频道。书接上文,我们说到了再用selenium登录12306时遇到了滑块验证的问题。当前的网站几乎每家都会在登录模块添加一个认证,来规避各种爬虫,而我们则不断的去想办法绕过这些验证模块。目前一些简单的

    2024年02月07日
    浏览(39)
  • 用Selenium实现滑块验证码登录

    现在很多网站的登录,都采用了拖动图片滑块的验证码方式来进行验证登录,比如哔哩哔哩和京东等。在使用爬虫等自动化程序时,如何通过滑块验证,就成了需要解决的问题。 这里通过大名鼎鼎的ddddocr图片识别库,和模拟浏览器操作的selenium库来实现 安装浏览器driver 首先

    2024年01月22日
    浏览(28)
  • 使用selenium模拟登录解决滑块验证问题

    目录 1.登录入口 2.点击“账号密码登录” 3.输入账号、密码并点击登录 4.滑块验证过程 5.小结 本次主要是使用selenium模拟登录网页端的TX新闻,本来最开始是模拟请求的,但是某一天突然发现,部分账号需要经过滑块验证才能正常登录,如果还是模拟请求,需要的参数太多了

    2024年02月16日
    浏览(28)
  • 爬虫笔记--Selenium实现有验证码网站模拟登录

    代码如下: 一点说明: 安利个巨好用的识别验证码的库 ddddocr gitHub:https://github.com/sml2h3/ddddocr 可能会在版本上遇到问题,我的报错参考这篇文档解决:https://blog.csdn.net/zhuchengchengct/article/details/124854199 我用的版本作为参考:python是3.9.13,ddddocr是1.4.2 如有问题,欢迎大家批评

    2024年02月16日
    浏览(33)
  • selenium利用cookies实现自动登录

    原理很简单,首先手动完成登录后,把cookies保存到本地,下次再把cookies注入到浏览器里面,就自动实现了登录 最近在学习写python的自动化脚本,但是发现测试工具打开之后的网页是没有用户自己打开浏览器时记录的cookie,简单来说也就是打开的网站不会自己登录,所以想要简单

    2024年02月11日
    浏览(37)
  • python+selenium绕过滑块验证,实现自动登录

    实现taobao自动化登录,当用webdriver打开淘宝时,滑块验证一直失败,手动滑都会失败。因为淘宝会检测window.navigator.webdriver,控件检测到你是selenium进入,所以就会弹出滑块验证。只需要绕过检测就能实现自动登录 验证了两种方法可以跳过: 第一种是给浏览器加启动参数,开

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包