300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 用python的pyautogui模块模拟鼠标点击和键盘输入

用python的pyautogui模块模拟鼠标点击和键盘输入

时间:2023-05-13 00:18:32

相关推荐

用python的pyautogui模块模拟鼠标点击和键盘输入

import pyautoguiimport numpy as npimport time#屏幕坐标与定位width, height = pyautogui.size()#获取屏幕宽高location=pyautogui.position()#获得鼠标当前的位置location.x;location.y#屏幕宽和高pyautogui.onScreen(x=40, y=150)# 判断(x,y)是否在屏幕上#移动鼠标位置pyautogui.moveTo(x=40, y=50, duration=0.25)#移动到坐标(40,50)处,用时0.25spyautogui.moveRel(40, 50, duration=0.25)#相对于当前位置移动鼠标,x、y可以为负数pyautogui.dragRel(300, 250, duration=0.25)# 相对于当前位置拖动鼠标,x、y可以为负数,用于选中文本pyautogui.dragTo(100, 150, duration=0.25)#拖动到坐标(100,150)处,用时0.25s。用于选中文本pyautogui.dragTo(100, 0, button='right')## 把鼠标拖拽到(100, 0)位置,点击鼠标右键pyautogui.scroll(8)#滚动屏幕,传递正整数表示向上滚动,传递负整数表示向下滚动。### PyAutoGUI有30种缓动/渐变函数,可以通过pyautogui.ease*?查看。pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad)# 开始很慢,不断加速,用时2秒pyautogui.moveTo(100, 100, 2, pyautogui.easeOutQuad)# 开始很快,不断减速pyautogui.moveTo(100, 100, 2, pyautogui.easeInOutQuad)# 开始和结束都快,中间比较慢pyautogui.moveTo(100, 100, 2, pyautogui.easeInBounce)# 一步一徘徊前进pyautogui.moveTo(100, 100, 2, pyautogui.easeInElastic)# 徘徊幅度更大,甚至超过起点和终点#点击屏幕坐标pyautogui.click()#左击当前位置pyautogui.click(100, 150)#左击坐标(100,150)pyautogui.click(100, 150, button='left')#左击坐标(100,150)pyautogui.click(100, 150, button='middle')#中击坐标(100,150)pyautogui.click(100, 150, button='right')#右击坐标(100,150)#pyautogui.click('屏幕.png') #点击图片 屏幕.pngpyautogui.doubleClick(100, 150)# 双击鼠标左键pyautogui.rightClick(100, 150)# 双击鼠标右键pyautogui.middleClick(100, 150)# 双击鼠标中键pyautogui.tripleClick() # 鼠标当前位置左击三下pyautogui.mouseDown(button='right') # 鼠标右键按下pyautogui.mouseUp(button='right')#鼠标右键再松开pyautogui.mouseUp(button='right', x=100, y=200) # 移动到(100, 200)位置,然后松开鼠标右键#模拟按键输入pyautogui.KEYBOARD_KEYS#press(),keyDown(),keyUp()和hotkey()函数可以输入的按键名称pyautogui.typewrite('Hello world!',0.25)#在文本框中输入'Hello world!',用时0.25spyautogui.typewrite(['a','b','left','left','X','Y'],0.25)pyautogui.hotkey('ctrl', 'c')#快捷键Ctrl+Cpyautogui.keyDown('shift') #按住Shift键不放pyautogui.press(['left', 'left', 'left', 'left']) #按左方向键4次.pyautogui.keyUp('shift') #松开Shift键.#弹窗操作pyautogui.alert(text='', title='', button='OK')# 显示一个简单的带文字和OK按钮的消息弹窗。用户点击后返回button的文字。# 显示一个简单的带文字、OK和Cancel按钮的消息弹窗,用户点击后返回被点击button的文字,支持自定义数字、文字的列表。pyautogui.confirm(text='', title='', buttons=['OK', 'Cancel']) # OK和Cancel按钮的消息弹窗pyautogui.confirm(text='', title='', buttons=range(10)) # 10个按键0-9的消息弹窗a = pyautogui.confirm(text='', title='', buttons=range(10))print(a) # 输出结果为你选的数字pyautogui.prompt(text='', title='', default='')# 可以输入的消息弹窗,带OK和Cancel按钮。用户点击OK按钮返回输入的文字,点击Cancel按钮返回None。pyautogui.password(text='', title='', default='', mask='*')# 样式同prompt(),用于输入密码,消息用*表示。带OK和Cancel按钮。用户点击OK按钮返回输入的文字,点击Cancel按钮返回None。#屏幕截图与定位img = pyautogui.screenshot()#获取全屏幕快照img_part = pyautogui.screenshot(region=(500,0, 800, 400))#利用四个角部坐标,获取部分区域图片img_part.save('屏幕.png')#保存图片np.array(img)#将屏幕转化为颜色矩阵,以更方便的寻找需要的坐标img_part_location=pyautogui.locateOnScreen(img_part)#返回部分区域图片在整个屏幕中的位置pyautogui.center(img_part_location)#获取部分区域图片的中心坐标pyautogui.locateOnScreen('屏幕.png')#将部分区域图片保存为png格式图片,再进行定位读取pyautogui.pixel(181,439)#获得坐标(181,439)处的颜色pyautogui.pixelMatchesColor(181,439,(255, 255, 255))#对坐标(181,439)处的颜色进行匹配,用于判断某个页面是否出现pyautogui.locateCenterOnScreenpyautogui.locateAllOnScreen('屏幕.png')# 匹配屏幕所有与目标图片的对象,可以用for循环和list()输出for picture in pyautogui.locateAllOnScreen('屏幕.png'):print(picture)

为了定位屏幕位置,需要从屏幕上截取指定坐标位置的图片。用以下函数可以迅速快捷的抓取屏幕上指定位置的标志性图片。

import pyautogui as ptimport numpy as npimport timedef get_target_img(path_save):"""获得目标截图将鼠标置于目标左上角,并在三秒内移动至左下角,便可以保存目标为图片:param path_save: str,目标保存路径:return:"""start=np.array(pt.position())#初始坐标time.sleep(3)end=np.array(pt.position())#结束坐标distance=end-start#目标长宽region=(start[0],start[1],distance[0],distance[1])pt.screenshot(region=region).save(path_save)#保存图片print('目标{}已经保存'.format(region))if __name__=='__main__':get_target_img(path_save='测试区域.png')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。