当前位置: 首页 > wzjs >正文

政府网站 都是谁做的关键时刻

政府网站 都是谁做的,关键时刻,怎么做网页二维码链接,上海网络维护哪家品质好系列文章目录 py实现win自动化自动登陆qq 文章目录 系列文章目录前言一、上代码?总结 前言 之前都是网页自动化感觉太容易了,就来尝尝win自动化,就先写了一个qq登陆的,这个是拿到className 然后进行点击等。 一、上代码&#xf…

系列文章目录

py实现win自动化自动登陆qq


文章目录

  • 系列文章目录
  • 前言
  • 一、上代码?
  • 总结


前言

之前都是网页自动化感觉太容易了,就来尝尝win自动化,就先写了一个qq登陆的,这个是拿到className 然后进行点击等。


一、上代码?

示例:

import psutil
import time
import os
from pywinauto import Application
from pywinauto.findwindows import find_window
from pywinauto.timings import WaitUntil
from pywinauto import mouseclass QQAutomator:def __init__(self):self.app = Noneself.main_window = Noneself.qq_path = r'D:\itveteranISTool\itveteranExe\qq\QQ.exe'def kill_qq_process(self):"""终止QQ相关进程"""for proc in psutil.process_iter(['pid', 'name']):if proc.info['name'] and proc.info['name'].lower() in ('qq.exe', 'qqschat.exe'):try:proc.kill()time.sleep(1)print(f"已终止进程:{proc.info['name']}")except Exception as e:print(f"终止失败:{e}")def find_qq_window(self, timeout=30):"""定位QQ窗口并打印详细信息"""start_time = time.time()while time.time() - start_time < timeout:try:window = self.app.window(class_name="Chrome_WidgetWin_1",control_type="Pane",title_re=".*QQ.*")if window.exists():self._print_window_details(window)return windowexcept Exception as e:print(f"窗口定位尝试失败:{str(e)}")time.sleep(1)return Nonedef _print_window_details(self, window):"""打印窗口详细信息"""print("=" * 60)print(f"窗口句柄: {window.handle}")print(f"窗口标题: {window.window_text()}")print(f"类名: {window.class_name()}")print(f"坐标范围: {window.rectangle()}")print("控件层次结构:")self._print_control_tree(window, level=0)print("=" * 60)def _print_control_tree(self, control, level=0, max_depth=3):"""递归打印控件树结构"""if level > max_depth:returnprefix = "  " * level + "└─ "try:info = f"{prefix}[{control.friendly_class_name()}] {control.element_info.name}"print(info)for child in control.children():self._print_control_tree(child, level + 1, max_depth)except:passdef click_button(self, button_title, retry=3):"""优化后的点击方法"""for attempt in range(retry):try:# 更精准的定位方式btn = self.main_window.child_window(title=button_title,control_type="Button",found_index=0).wait('ready', timeout=5)if btn.is_visible() and btn.is_enabled():print(f"点击按钮 [{button_title}] (第{attempt+1}次尝试)")btn.click_input()return True# 新增调试信息print(f"按钮状态:visible={btn.is_visible()}, enabled={btn.is_enabled()}")except Exception as e:print(f"按钮定位失败: {str(e)}")time.sleep(2)return Falsedef run(self):"""修复后的主流程"""self.kill_qq_process()if not os.path.exists(self.qq_path):print("路径无效!")returntry:# 增加启动等待self.app = Application(backend='uia').start(self.qq_path)time.sleep(1)  # 等待主进程初始化# 增强窗口定位self.main_window = self.find_qq_window(timeout=40)if not self.main_window:print("窗口定位失败,尝试备用方案...")qq_procs = [p for p in psutil.process_iter() if 'qq' in p.name().lower()]if qq_procs:hwnd = find_window(process=qq_procs[0].pid)self.main_window = self.app.window(handle=hwnd)if not self.main_window:print("❌ 无法定位窗口,退出程序")return# 打印调试信息print("="*40)self.main_window.print_control_identifiers()print("="*40)# 保存控件树self.main_window.print_control_identifiers(filename='control_tree.txt')# 执行点击操作# if self.click_button("添加账号"):#     print("已触发添加账号操作")#     time.sleep(3)  # 等待弹窗if self.click_button("登录"):print("登录请求已发送")self._verify_login()except Exception as e:print(f"主流程异常: {str(e)}")import tracebacktraceback.print_exc()def _verify_login(self):"""修复后的登录验证"""try:print("正在验证登录状态...")WaitUntil(30, 2, lambda: any(p.info['name'] and p.info['name'].lower() in ('qq.exe', 'qqlite.exe')for p in psutil.process_iter(['name'])))print("✅ 检测到QQ主进程,登录成功!")# 附加验证:检测主窗口变化main_window = self.app.window(class_name="Chrome_WidgetWin_0")if main_window.exists():print("✅ 检测到QQ主界面窗口")except TimeoutError:print("❌ 登录验证超时,可能原因:")print("1. 账号密码错误")print("2. 需要处理验证码")print("3. 网络连接异常")current_procs = [p.name() for p in psutil.process_iter()]print(f"当前运行进程:{current_procs}")if __name__ == "__main__":automator = QQAutomator()automator.run()

总结

携知云~ 携手创造知识~ 科技是第一生产力,卷起来

http://www.dtcms.com/wzjs/450787.html

相关文章:

  • 网页视频下载器破解版杭州百度推广优化排名
  • 响应式模板网站模板下载谷歌浏览器网页版进入
  • 关于网站建设管理工作的报告湖南靠谱的关键词优化哪家好
  • 宿州网站建设时间深圳网站建设推广方案
  • 苏州网站建设外包百度引擎搜索入口
  • 独立站优化中国互联网公司排名
  • 自己做应用的网站化妆培训
  • 自己做网站需要钱吗2022小说排行榜百度风云榜
  • 菏砖网站建设网站友情链接是什么
  • app软件下载免费石家庄手机端seo
  • 大同网站建设开发长尾词挖掘免费工具
  • 企帮手logo设计官网怎么优化
  • 做农宿的网站软文推广模板
  • 中国做跨境电商出口的网站今日预测足球比分预测
  • 专业做网站哪里好怎样建网站赚钱
  • 北京门户企业网站建设合肥seo软件
  • 网站开发用什么软件网站的优化
  • 中国做爰网站seo如何优化关键词上首页
  • 安徽省建设总站网站做百度推广的网络公司
  • 电子政务门户网站建设项目招标采购搜收录批量查询
  • 网站建设 软件开发的公司排名有哪些网站可以免费推广
  • 做简单最网站的软件是广州seo公司哪个比较好
  • 搜狐视频网站联盟怎么做宁波seo整站优化
  • 成都本地做网站的公司地址怎么弄在百度上显示
  • 自动登录网站的小程序2345网址导航怎么下载
  • 最近三天的新闻大事摘抄南昌seo快速排名
  • 梁山网站建设黑龙江暴雪预警
  • 网站建设与管理 教材疫情最新数据消息
  • 淮安淮阴网站建设网络营销策划方案书范文
  • 珠海网站空间注册发帖子的网站