pyautogui自动化鼠标键盘操作

devtools/2025/1/22 14:29:38/

pyautogui,用来写自动化脚本,比按键精灵更方便。pyautogui.position()可以获取当前鼠标位置。pyautogui不支持中文输入,利用 pyperclip从剪切板粘贴输入。

python"># -*- coding: utf-8 -*-
import time
import os
import traceback
import logging
import pyautogui
from logging.handlers import RotatingFileHandler
import pyperclip
pos={"H15":(724,507)
,"D01":(362,507)
,"ELY01":(362,507)
,"ELY36":(486,739)
,"C01":(358,350)}
h=(742-507)/9
w=60
def set_input(value):with pyautogui.hold('ctrl'):  # Press the Shift key down and hold it.pyautogui.press(['a'])  # Press the left arrow key 4 times.pyperclip.copy(value)time.sleep(0.3)pyautogui.hotkey('Ctrl', 'V')
def fg():mouse_click(505,217)mouse_click(549,426)#open fgset_input("#F95E5E")mouse_click(457,441)#open fg
def fg_clear():mouse_click(505,217)mouse_click(549,426)#open fgset_input("#000000")mouse_click(457,441)#open fg
def mouse_click(x,y):pyautogui.moveTo(x,y)#open fgpyautogui.click()time.sleep(0.3)
def bg_clear():mouse_click(557,217)#open fgmouse_click(549+52,426)#open fgset_input("#FFFFFF")mouse_click(457,441)#open fg
def bg():mouse_click(557,217)#open fg# time.sleep(0.200)mouse_click(549+52,426)#open fgset_input("#F95E5E")mouse_click(457,441)#open fg
def bj():mouse_click(1083,224)#open fgmouse_click(908,238)#open fgset_input("1")mouse_click(1012,299)#open fgset_input("#32F92C")mouse_click(1008,341)#open fgset_input("#32F92C")mouse_click(1167,432)#open fg# mouse_click(457,441)#open fg
def gs(value):mouse_click(411,257)#open fgset_input(value)mouse_click(330,261)#open fg
def main():fg()bg()
def toggle_one(x,y):logging.info(["pos",x,y])mouse_click(x,y)fg()bg()bj()
def toggle_c():(x0,y0)=pos["C01"]x=x0y=y0i=1while True:toggle_one(x,y)istr="%02d" % iv="=[公式].[if] where [设备编号]='C"+istr+"'"logging.info(v)gs(v)x=x+w*2i+=1if i>5:break
def toggle_d():(x0,y0)=pos["D01"]x=x0y=y0i=1while True:toggle_one(x,y)istr="%02d" % iv="=[公式].[if] where [设备编号]='D"+istr+"'"logging.info(v)gs(v)y=y+hi+=2if i>13:breakx=x0+w*2y=y0i=2while True:toggle_one(x,y)istr="%02d" % iv="=[公式].[if] where [设备编号]='D"+istr+"'"gs(v)y=y+hi+=2if i>14:break  
def toggle_ely1():(x0,y0)=pos["ELY01"]x=x0y=y0num=1for j in range(5):y=y0for i in range(7):toggle_one(x,y)istr="%02d" % numv="=[公式].[if] where [设备编号]='ELY"+istr+"'"logging.info(v)gs(v)y=y-hnum+=1x=x+w*2
def toggle_ely36():(x0,y0)=pos["ELY36"]x=x0y=y0num=36for j in range(2):y=y0for i in range(7):toggle_one(x,y)istr="%02d" % numv="=[公式].[if] where [设备编号]='ELY"+istr+"'"logging.info(v)gs(v)y=y-hnum+=1if num>48:returnx=x-w*2def toggle_h():(x0,y0)=pos["H15"]x=x0y=y0i=15while True:toggle_one(x,y)v="=[公式].[if] where [设备编号]='H"+str(i)+"'"logging.info(v)gs(v)y=y+hi+=2if i>33:breakx=x0+w*2y=y0i=16while True:toggle_one(x,y)v="=[公式].[if] where [设备编号]='H"+str(i)+"'"gs(v)y=y+hi+=2if i>34:break
if __name__=="__main__":import loggingimport syshandlers=[RotatingFileHandler(filename="report.log", maxBytes=10*1024*1024, encoding='utf-8',backupCount=3),logging.StreamHandler(sys.stdout)]logging.basicConfig(level=logging.DEBUG,format = '%(asctime)s - %(name)s - %(levelname)s -%(funcName)s - %(message)s',handlers=handlers)logging.info('begin')# toggle_h()# toggle_d()# toggle_one(724,536)# enum1()# bj()# gs("abc")# bg_clear()# fg_clear()# toggle_c()toggle_ely36()


http://www.ppmy.cn/devtools/152623.html

相关文章

PID 控制算法(二):C 语言实现与应用

在本文中,我们将用 C 语言实现一个简单的 PID 控制器,并通过一个示例来演示如何使用 PID 控制算法来调整系统的状态(如温度、速度等)。同时,我们也会解释每个控制参数如何影响系统的表现。 什么是 PID 控制器&#xf…

【力扣系列题目】不同路径 组合总和 最大连续1个数 打家劫舍{持续更新中...}

文章目录 不同路径不同路径[不同路径 II](https://leetcode.cn/problems/unique-paths-ii/)[不同路径 III](https://leetcode.cn/problems/unique-paths-iii/) 组合总和组合总和 【无重复数字无限制选择次数】[组合总和 II](https://leetcode.cn/problems/combination-sum-ii/)…

本地 AI 模型“不实用”?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

WPF实战案例 | C# WPF实现计算器源码

WPF实战案例 | C# WPF实现计算器源码 一、设计来源计算器应用程序讲解1.1 主界面1.2 计算界面 二、效果和源码2.1 界面设计(XAML)2.2 代码逻辑(C#)2.3 实现步骤总结 源码下载更多优质源码分享 作者:xcLeigh 文章地址&a…

OpenCV相机标定与3D重建(62)根据两个投影矩阵和对应的图像点来计算3D空间中点的坐标函数triangulatePoints()的使用

加粗样式- 操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 这个函数通过使用立体相机对3维点的观测,重建这些点的三维坐标(以齐次坐标表示)。 cv::triangula…

JAVA-Exploit编写(8-10)--http-request库编写exp批量利用

目录 1.【CVE-2018-1002015】thinkphp命令执行漏洞 2.编写为标准类 2.1 标准类文件标准 2.2 测试类文件调用 3.批量检测 3.1 读取文本 3.2 标准类 3.2 测试类 1.【CVE-2018-1002015】thinkphp命令执行漏洞 以此漏洞为例,通过编写两个方法,分别是漏洞的POC和EXP,看过之前…

汇编与逆向(一)-汇编工具简介

RadASM是一款著名的WIN32汇编编辑器,支持MASM、TASM等多种汇编编译器,Windows界面,支持语法高亮,自带一个资源编辑器和一个调试器。 一、汇编IDE工具:RadASM RadASM有内置的语言包 下载地址:RadASM asse…

Erlang语言的并发编程

Erlang语言的并发编程 引言 并发编程是现代软件开发中的一个重要领域,尤其是在面对需要高效处理大量任务的应用时。Erlang是一种专门设计用于并发编程的编程语言,由于其在电信和即时通信系统中的广泛应用,逐渐引起了开发者的关注。Erlang的…