在日常实施中,我们用控件对大部分的网页和客户端都能进行拾取操作。但是仍有一小部分的应用无法进行操作。这里我常用到 pyautogui 这个模块。下面做个分享。
Python 的 pyautogui 模块实现鼠标的自动移动以及键盘的自行输入. 该模块不是 Python 自带的, 因此执行以下命令进行安装
# pyautogui模块依赖image模块,没有image会报ImportError: No module named ‘PIL‘错误 pip install image pip install pyautogui
官方文档介绍:https://pyautogui.readthedocs.io/en/latest/
import pyautogui '''1.size(): 用于获取屏幕分辨率''' print ( "电脑当前的分辨率:" ,pyautogui.size()) print ( type (pyautogui.size())) '''2.moveTo(): 用于鼠标的移动 ''' pyautogui.moveTo( 100 , 100 ,duration = 1 ) '''3.moveRel(): 根据当前位置, 相对移动鼠标指针''' pyautogui.moveRel( 0 , 300 , duration = 1 ) '''4.position(): 获取当前鼠标指针的位置''' print ( "获取当前鼠标位置:" ,pyautogui.position()) ''' 5.click(): 用于控制鼠标点击和拖拽 ''' pyautogui.click( 370 , 120 ) doubleClick() 双击 rightClick() 右击 """ 6.有两个与鼠标拖拽操作相关的函数: dragTo 和 dragRel. 它们的行为与 moveTo 和 moveRel 类似, 区别在于拖拽操作在移动的过程中, 会保持鼠标左键被按下. 该功能可用于不同的场景, 比如移动对话框,或在 Windows 的画板程序中用铅笔工具自动绘图 """ import pyautogui import time time.sleep( 5 ) # 5秒种时间切换到画板程序 pyautogui.moveTo( 200 , 200 , duration = 1 ) # 鼠标移动到(200,200)的位置 pyautogui.dragRel( 100 , 0 , duration = 1 ) #相对移动 pyautogui.dragRel( 0 , 100 , duration = 1 ) #相对移动 pyautogui.dragRel( - 100 , 0 , duration = 1 ) #相对移动 pyautogui.dragRel( 0 , - 100 , duration = 1 ) #相对移动 """ 7.scroll(): 滚屏函数接受像素数作为参数, 并用给定的像素数向上滚屏 """ pyautogui.scroll( 200 ) #向上回滚 #对选中的窗口进行向上滚屏200个像素点.当值为负数时,向下移动 '''8. typewrite(): 用于自动键入字符串, 只需将要键入的字符串传递给函数作为参数即可 ''' pyautogui.click( 1000 , 400 ) pyautogui.typewrite( "hello word!" ) #假设文本区域位于屏幕 (100, 200) 的坐标位置, 那么这段代码将点击文本区域, 激活它, 并键入‘hello word! """ 9.传递键名: 可以向 typewrite() 函数传入分离的键名 """ pyautogui.typewrite([ 'a' , 'left' , 'ctrlleft' ]) #这段代码等价于: 键入 "a", 然后敲击左方向键, 再敲击左 ctrl 键. """ 10.热键组合: hotkey() 可以模拟组合热键, 比如: ctrl-c, ctrl-a, ctrl-v 等 """ # 1.模拟ctrl-v,复制功能 pyautogui.hotkey( 'ctrlleft' , 'v' ) # 等价于 pyautogui.keyDown( 'ctrl' ) pyautogui.keyDown( "shift" ) pyautogui.keyDown( 'esc' ) pyautogui.keyUp( 'esc' ) pyautogui.keyUp( 'shift' ) pyautogui.keyUp( 'ctrl' ) """ 11.press() :键盘功能按键""" pyautogui.press( "enter" ) #键盘输入一个 entr pyautogui.press( "f1" ) # press the F1 key pyautogui.press( "left" ) #按左箭头键 """ 消息弹窗函数 """ #如果你需要消息弹窗,通过单击OK暂停程序,或者向用户显示一些信息,消息弹窗函数就会有类似JavaScript的功能: pyautogui.alert( '这个消息弹窗是文字+OK按钮' ) # 返回OK pyautogui.confirm( '这个消息单击OK' ) # 返回输入的字符串弹窗是文字+OK+Cancel按钮‘) # 返回OK 或 Cancel pyautogui.prompt( '这个消息弹窗是让用户输入字符串,单击OK' ) # 返回输入的字符串 |
转自:https://www.cnblogs.com/feifeifeisir/p/10967685.html