首页 > 其他分享 >问题:模拟qq自动登录时候截不到验证码图片

问题:模拟qq自动登录时候截不到验证码图片

时间:2024-03-01 22:00:25浏览次数:25  
标签:qq web 登录 driver 验证码 element location frame1 login

- 超级鹰
    -注册:普通用户
    -登录:普通用户
        -题分查询:充值
        - 创建一个软件(id)
        - 下载实例代码
        - 下载核心代码

利用超级鹰进行图片验证的模拟登录

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
from time import sleep
from PIL import Image
option = Options()
option.add_experimental_option("detach", True)
web_driver = webdriver.Chrome()
web_driver.get("https://qzone.qq.com/")
f = web_driver.find_element(By.XPATH, '//*[@id="login_div"]')
print(f.text)
f_range=(
    f.location['x'],f.location['y'],f.location['x']+f.size['width'],f.location['y']+f.size['height']
)
#切换作用域
frame1 = web_driver.find_element(By.ID, 'login_frame')
print(frame1.location)
print(frame1.size)
range1=(
    frame1.location['x'],frame1.location['y'],frame1.location['x']+frame1.size['width'],frame1.location['y']+frame1.size['height']
)
web_driver.switch_to.frame(frame1)
#标签定位
a_tag = web_driver.find_element(By.ID, "switcher_plogin")
a_tag.click()
sleep(5)
username_tag = web_driver.find_element(By.ID, "u")
password_tag = web_driver.find_element(By.ID, "p")
username_tag.send_keys("1870388299")
sleep(2)
password_tag.send_keys("wwsa20030309")
sleep(2)
login_btn = web_driver.find_element(By.ID, "login_button")
sleep(2)
login_btn.click()
sleep(10)
web_driver.save_screenshot('./qq_login.png')


image1 = Image.open('./qq_login.png')
print(f_range)
image__crop = image1.crop(f_range)
image__crop.save('./qq_login_crop.png')
#确定验证码图片的左上角和右下角
# sleep(10)
# range=()
# try:
#     # 等待直到元素出现
#     iframe = web_driver.find_element(By.ID,'tcaptcha_iframe_dy')
#     print(iframe.location)
#     web_driver.switch_to.frame(iframe)
#     element = WebDriverWait(web_driver, 10).until(
#         EC.presence_of_element_located((By.XPATH, '//*[@id="bodyWrap"]'))
#     )
#
#     location = element.location
#     size = element.size
#     range =(
#         location['x'],location['y'],location['x']+size['width'],location['y']+size['height']
#     )
# except Exception as e:
#     print("未能找到元素:", e)
# print(range)
# i = Image.open('./qq_login_crop.png')
# code_img_name = 'code.png'
# frame2 = i.crop(range)
# frame2.save(code_img_name)

我在截取屏幕的时候一直截不到验证码那张图片 可能是因为 没有找对位置

标签:qq,web,登录,driver,验证码,element,location,frame1,login
From: https://www.cnblogs.com/lin513/p/18048052

相关文章

  • 节流方式实现,发送验证码
    <!DOCTYPEhtml><html><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv="X-UA-Compatible"content=&q......
  • (4 核,64 位)处理器LS1043AXN8QQB、LS1043AXN8KQA、LS1043AXN8PQA专为小规格网络、工业
    介绍Layerscape®LS1043A处理器是一款面向嵌入式网络的四核64位Arm®处理器。LS1043A可通过支持无风扇设计的灵活I/O封装,提供超过10Gbps的性能。这款SoC是专为小规格网络、工业和汽车应用而打造的解决方案,针对经济型低端PCB优化了物料成本(BOM),降低了电源成本,采用单时钟设计。......
  • 旋转拖动验证码解决方案
    前因曾几何时,你是否被一个旋转验证码而困扰,没错今日主题——旋转验证码。 之前也是被他伤透了心,研究了好几天的js,想直接通过接口传输直接解决验证码的,然而我失败了,不过这一次,他来了他来了,他带着RotNet走来了。彩虹屁RotNet也是我无意间发现的,没错时隔了好几个月,他自己出现在......
  • selenium——模拟qq空间登录
    fromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeysfromselenium.webdriver.common.byimportByfromtimeimportsleepweb_driver=webdriver.Chrome()web_driver.get("https://qzone.qq.com/")#切换作用域web_driver.switch_to......
  • C# GDI+绘制网络获取指定QQ圆形头像框
    某论坛的评论区模块,发现这功能很不错,琢磨了一晚上做了大致一样的,用来当做注册模块的头像绑定功能,下面通过实例代码给大家介绍下C#获取指定QQ头像绘制圆形头像框GDI(Graphics)的方法,感兴趣的朋友一起看看吧。效果图:完全代码(下方有详细解读)1234567891011......
  • ems案例第一阶段 验证码生成
    验证码生成步骤:controller代码packagecom.baizhi.controller;importcom.baizhi.utils.VerifyCodeUtils;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importjavax.servlet.ServletOutputStrea......
  • iterm2配置ssh自动登录
    iterm2ssh演示cmd+o打开服务器列表,方向键选择要登录的机器,回车,提示输入密码;option+cmd+f打开密码管理器,方向键选择密码,回车,即可登录;(这一步通过配置触发器其实可以省略,后面有介绍)此时若重复步骤1,借助ssh会话复制已不需要输入密码。开始服务器配置点击iterm2—>P......
  • chromedriver 自动下载链接进行文件下载 (保持系统人工登录的状态,使用已打开的浏览器人
    需求:爬取需要登录系统才能访问页面,且知道系统登录账号解决方法:参考:https://blog.csdn.net/qq_39835505/article/details/124712410   感谢博主!自己打开Chrome浏览器,登录系统,使用chromedriver调用已开的Chrome浏览器打开自动下载链接进行文件下载解决步骤:......
  • 2.14 登录页面
    packagecom.example.demo;importbean.Base_InformationBean;importbean.InfoDAO;importjakarta.servlet.ServletException;importjakarta.servlet.annotation.WebServlet;importjakarta.servlet.http.HttpServlet;importjakarta.servlet.http.HttpServletReques......
  • 灵魂云 官网无法登录, 解决方法
    问题:1 在之前是可以通过浏览器搜索到灵魂云的官网然后登录上去的。2我现在两个电脑都有灵魂云的软件,但是一台电脑,突然app出现了问题。截图如下:3然后想要在这台电脑上登录到官网上 重新同步一下app,但是却发现 在firefox 上已经登录不上去了。估计对这个网......