python 怎么通过windows gui(鼠标双击程序图标)打开第三方软件,而不是通过cmd命令?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 怎么通过windows gui(鼠标双击程序图标)打开第三方软件,而不是通过cmd命令?相关的知识,希望对你有一定的参考价值。

python 怎么通过windows gui(鼠标双击程序图标)打开第三方软件,而不是通过cmd命令

参考技术A 你说的是用python模拟键鼠吧?
下面是一个模拟鼠标键盘操作登录软件的python代码

from pymouse.windows import PyMouse
from pykeyboard import PyKeyboard
import time

m = PyMouse() # 鼠标对象
k = PyKeyboard() # 键盘对象
x_dim, y_dim = m.position() # 获得屏幕尺寸
print('鼠标当前位置: ', x_dim, y_dim)

'''模拟鼠标定时点击'''
#鼠标点击指定位置
m.move(62, 350)
m.click(62,350,1)
for i in range(1,3):
time.sleep(5)
m.click(62,350,1)

'''模拟鼠标键盘登录软件'''
#打开应用
m.click(51,543,1,2)
time.sleep(8)
#输入密码
m.click(568,544,1)
k.type_string('你的密码')
time.sleep(3)
#回车
k.tap_key(k.enter_key)
time.sleep(6)
#确认登录
m.click(568,544,1)
k.press_key(k.alt_key)
k.tap_key('y')
k.release_key(k.alt_key)

Python 编程快速上手 第十八章 用 GUI 自动化控制键盘和鼠标

前言

这一章节讲述了如何实现 GUI 自动化,首先讲了一些处理异常状况的方法,然后是关于 GUI 自动化的内容,主要有三个部分:

  1. 控制鼠标
  2. 图像识别
  3. 控制键盘

下面引用一段话:

请将 GUI 自动化看成对一个机械臂编程。你可以对机械臂编程,让它敲键盘或移动鼠标。对于涉及许多无脑点击或填表的任务。这种技术特别有用。

处理异常的办法

方法一:通过注销关闭所有程序:

Windows/Linux:Ctrl+Alt+Del
Mac OS:cmd+Shift+Option+Q

方法二:设置 pyautogui 的暂停

格式:pyautogui.PAUSE = 1.5
功能:将该变量设置为要暂停的秒数,在每次进行完函数调用之后暂停这段秒数的时间

方法三:pyautogui 自动防故障功能:

格式:pyautogui. FAILSAFE = True
功能:将鼠标移到屏幕的左上角,将触发pyautogui.FailSafeException异常。
禁用:可以让 pyautogui. FAILSAFE = False, 禁止使用这项功能。

控制鼠标

预备知识:

  • 屏幕的坐标表示法。
  • 可通过 pyautogui.size() 返回计算机的屏幕分辨率。
  • PyAutoGUI 函数中,有一个 duirantion 关键字,可以指定为函数的可选参数,表示其进行动作的时间。

移动鼠标

格式:

绝对位置:pyautogui.moveTo(x, y)
相对于目前的位置:pyautogui.moveRel(x, y)

其他:

获得鼠标绝对位置:格式:pyautogui.position()

点击鼠标

格式:

pyautogui.click(x, y, button =‘left‘)

功能:

使用 button 的参数模拟鼠标点击 (x,y) 处,button 参数可为 ‘left‘,‘middle‘ 和 ‘right‘, 是一个可选值,默认为左键。

其他:

  • 按下鼠标按键:pyautogui.mouseDown()
  • 松开鼠标按键:pyautogui.mouseUp()
  • 双击鼠标左键:pyautogui.doubleClick()
  • 双击鼠标右键:pyautogui.rightClick()
  • 双击鼠标中键:pyautogui.middleClick()

拖动鼠标

格式:

绝对坐标拖动:pyautogui.dragTo(x, y)
相对当前坐标拖动:pyautogui.dragRel(x, y)

功能:

进行拖动,(另外作者建议在 Mac OS 上,最好添加 duration 参数)

滚动鼠标

格式:

scroll(200)

功能:

在相对的状态下,传递正数向上滚动,传递负数向下滚动。

图像识别

处理屏幕

获得屏幕快照:

格式:im = pyautogui.screenshot()
功能:返回一个整个屏幕的 Pillow Image 对象。

分析屏幕快照:

格式:pyautogui.pixelMatchesColor(50, 200, (130, 135, 144))
功能:接受一个坐标值和一个含有三个整数的 RGB 元组,然后进行判断颜色是否匹配,最后返回一个 True / False.

识别 & 定位

1. 获得一小块区域的屏幕快照

2. 使用 locateOnscreen() 这个方法进行定位

格式: pyautogui.locateOnscreen(‘submit.png‘)
功能:接受屏幕快照,返回屏幕上发现该图像的左上角坐标以及图像的宽度、高度。

控制键盘

键盘输入

格式:pyautogui.typewrite(‘Hello world!‘,0.25)

功能:在文本输入框内的焦点处,自动输入第一个参数的字符串,第二个参数每个字母之间停留的时间间隔,是可选参数。

其他

  • 键入给定键字符串:除了字符串,还可以传递键盘键字符串。如:‘enter‘,‘up‘,‘tab‘ 等等。格式:pyautogui.typewrite([‘left‘,‘right‘,‘enter‘])
  • 按下和释放键盘:pyautogui.keyDown(‘shift‘), pyautogui.keyUp(‘4‘)
  • 热键组合:pyautogui.hotkey([‘ctrl‘,‘c‘]) 功能:可执行组合键


















以上是关于python 怎么通过windows gui(鼠标双击程序图标)打开第三方软件,而不是通过cmd命令?的主要内容,如果未能解决你的问题,请参考以下文章

Python自动操作 GUI 神器——PyAutoGUI

Python基础系列讲解-自动控制windows桌面

Python基础系列讲解-自动控制windows桌面

python学习之GUI(pygame鼠标)

python自动化之鼠标移动

python实现GUI自动化(控制鼠标)|屏幕快照&图像识别基础