鱼C论坛

 找回密码
 立即注册
查看: 1146|回复: 0

[作品展示] 一个GUI爬虫从无到有---登陆验证---04章

[复制链接]
发表于 2019-2-16 00:51:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Stubborn 于 2019-2-16 02:53 编辑

测试下,等待审核通过,再修改内容 很好,审核通过了。下面GO

这章主要完成的功能:利用下载好的验证码图片,通过云API,自动打码(这里跳过了,emmm有需要的朋友可以留言,我补 ),获取到图片坐标去发送请求,完善页面一些图形功能()

细节完善01.验证失败或者刷新时清除选中标签:这个把调用清除函数挪个位置,放到刷新函数内部调用就可以
细节完善02.当鼠标点击最上方时候,会出现负数坐标,这个明显不对。在监听按钮点击添加判定
  1.         if evt.x() < 0 or evt.y() < 30:  #控制判断区域
  2.             return None
复制代码


由于这里有需要用自动打码的情况,为了方便显示选中标签单独封装了函数
  1.     def mousePressEvent(self, evt):
  2.         "监听按钮点击,通过事件机制,重写某一个事件方法,evt是鼠标事件对象"
  3.         super().mousePressEvent(evt)
  4.         if evt.x() < 0 or evt.y() < 30:  #控制判断区域
  5.             return None
  6.         self.create_point_btn(evt.pos() - QPoint(10, 10))
  7.         #鼠标点击展示,因为是参照左上角设置的,需要减去一个值,仔细观察下可以看到的
  8.     def create_point_btn(self,pt):
  9.         point = QPushButton(self)
  10.         point.resize(20,20) #
  11.         point.move(pt)
  12.         point.setStyleSheet("background-color:green;border-radius:10px")
  13.         point.show()
  14.         #监听按钮的单击_, 表示本身有传进一个默认值,单击可以进行取消
  15.         point.clicked.connect(lambda _, btn=point: btn.deleteLater())
复制代码


这个不是在水贴如果再加上自动人工打码,会很长,预留出来。开始下一章啦:Fight!GO


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 22:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表