根据证书信息选择“请选择您用来签名的证书”框中的证书
# -*- coding: utf-8 -*-
import uiautomation
import time def choose_one_cert(cert_name): p_names = '' p_names_childern = '' confirm_btn = '' try: p_names = uiautomation.PaneControl(RegexName='统一认证管理平台').WindowControl( RegexName='请选择您用来签名的证书:').GetChildren() except Exception: p_names = uiautomation.PaneControl(RegexName=f'http://xxx').WindowControl( RegexName='请选择您用来签名的证书:').GetChildren() for p_name in p_names: if p_name.Name == '证书列表': p_names_childern = p_name.GetChildren() if p_name.Name == '确认(O)': confirm_btn = p_name for i, _ in enumerate(p_names_childern): if isinstance(_, uiautomation.ListItemControl) and cert_name in _.Name: time.sleep(0.1) _.SendKey(0x28) # _.Click() time.sleep(0.1) confirm_btn.SendKeys('{Alt}o') break
或
# -*- coding: UTF-8 -*- import time import autoit ''' autoitv3的python封装实现,使用pyautoit库 https://github.com/jacexh/pyautoit ''' def _select_cert(cert, up_down): flag = 0 cert_info_ui_old = '' while flag == 0: cert_info_ui = autoit.control_command("请选择您用来签名的证书:", "ListBox1", "GetCurrentSelection") print(cert_info_ui) if cert_info_ui_old == cert_info_ui: flag = 1 elif cert not in cert_info_ui: autoit.send('{' + up_down + '}') cert_info_ui_old = cert_info_ui elif cert in cert_info_ui: cert_info_ui_list = cert_info_ui.split(',') for _ in cert_info_ui_list: if cert == _.split('=')[1]: autoit.control_click("请选择您用来签名的证书:", "Button1") flag = 1 return True else: autoit.send('{' + up_down + '}') cert_info_ui_old = cert_info_ui time.sleep(0.2) def select_cert(cert): autoit.win_activate("请选择您用来签名的证书:") autoit.control_click("请选择您用来签名的证书:", "ListBox1") # 先down后up原因是,第一次down很可能不是从第一行开始查,而是从中间开始查,原因没找到。 # 所以往下找不到,就向上找,向上找可以遍历所有 if _select_cert(cert, 'DOWN'): pass elif _select_cert(cert, 'UP'): pass if __name__ == '__main__': select_cert('rsa1024')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)