网站建设论文附录怎么写广东深圳天气预报
web/
2025/9/30 10:31:23/
文章来源:
网站建设论文附录怎么写,广东深圳天气预报,万网怎么更改网站名字的,中标查询这篇文章主要介绍了详解Python中pyautogui库的最全使用方法#xff0c;文中通过示例代码介绍的非常详细#xff0c;对大家的学习或者工作具有一定的参考学习价值#xff0c;需要的朋友们下面随着小编来一起学习学习吧
在使用Python做脚本的话#xff0c;有两个库可以使用文中通过示例代码介绍的非常详细对大家的学习或者工作具有一定的参考学习价值需要的朋友们下面随着小编来一起学习学习吧
在使用Python做脚本的话有两个库可以使用一个为PyUserInput库另一个为pyautogui库。就本人而言我更喜欢使用pyautogui库该库功能多使用便利。下面给大家介绍一下pyautogui库的使用方法。在cmd命令框中输入pip3 install pyautogui即可安装该库
常用操作
我们在pyautogui库中常常使用的方法如下 1 2 3 4 5 6 7 8 9 10 11 import pyautogui pyautogui.PAUSE 1 # 调用在执行动作后暂停的秒数只能在执行一些pyautogui动作后才能使用建议用time.sleep pyautogui.FAILSAFE True # 启用自动防故障功能左上角的坐标为00将鼠标移到屏幕的左上角来抛出failSafeException异常 # 判断(x,y)是否在屏幕上 x, y 122, 244 pyautogui.onScreen(x, y) # 结果为true width, height pyautogui.size() # 屏幕的宽度和高度 print(width, height)
鼠标操作
我们在pyautogui库对于鼠标的使用方法大体如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 import pyautogui currentMouseX, currentMouseY pyautogui.position() # 鼠标当前位置 print(currentMouseX, currentMouseY) # 控制鼠标移动,duration为持续时间 for i in range(2): pyautogui.moveTo(100, 100, duration0.25) # 移动到 (100,100) pyautogui.moveTo(200, 100, duration0.25) pyautogui.moveTo(200, 200, duration0.25) pyautogui.moveTo(100, 200, duration0.25) for i in range(2): pyautogui.moveRel(50, 0, duration0.25) # 从当前位置右移100像素 pyautogui.moveRel(0, 50, duration0.25) # 向下 pyautogui.moveRel(-50, 0, duration0.25) # 向左 pyautogui.moveRel(0, -50, duration0.25) # 向上 # 按住鼠标左键把鼠标拖拽到(100, 200)位置 pyautogui.dragTo(100, 200, buttonleft) # 按住鼠标左键用2秒钟把鼠标拖拽到(300, 400)位置 pyautogui.dragTo(300, 400, 2, buttonleft) # 按住鼠标左键用0.2秒钟把鼠标向上拖拽 pyautogui.dragRel(0, -60, duration0.2) # pyautogui.click(xmoveToX, ymoveToY, clicksnum_of_clicks, intervalsecs_between_clicks, buttonleft) # 其中button属性可以设置成leftmiddle和right。 pyautogui.click(10, 20, 2, 0.25, buttonleft) pyautogui.click(x100, y200, duration2) # 先移动到(100, 200)再单击 pyautogui.click() # 鼠标当前位置点击一下 pyautogui.doubleClick() # 鼠标当前位置左击两下 pyautogui.doubleClick(x100, y150, buttonleft) # 鼠标在100150位置左击两下 pyautogui.tripleClick() # 鼠标当前位置左击三下 pyautogui.mouseDown() # 鼠标左键按下再松开 pyautogui.mouseUp() pyautogui.mouseDown(buttonright) # 按下鼠标右键 pyautogui.mouseUp(buttonright, x100, y200) # 移动到(100, 200)位置然后松开鼠标右键 # scroll函数控制鼠标滚轮的滚动amount_to_scroll参数表示滚动的格数。正数则页面向上滚动负数则向下滚动 # pyautogui.scroll(clicksamount_to_scroll, xmoveToX, ymoveToY) pyautogui.scroll(5, 20, 2) pyautogui.scroll(10) # 向上滚动10格 pyautogui.scroll(-10) # 向下滚动10格 pyautogui.scroll(10, x100, y100) # 移动到(100, 100)位置再向上滚动10格 # 缓动/渐变函数可以改变光标移动过程的速度和方向。通常鼠标是匀速直线运动这就是线性缓动/渐变函数。 # PyAutoGUI有30种缓动/渐变函数可以通过pyautogui.ease*?查看。 # 开始很慢不断加速 pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad) # 开始很快不断减速 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)
对于我们要获取鼠标在屏幕中的位置我们可以采用如下代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # 案例获取鼠标的位置方便复制我们定位的鼠标坐标点到代码中 import pyautogui import time # 获取鼠标位置 def get_mouse_positon(): time.sleep(5) # 准备时间 print(开始获取鼠标位置) try: for i in range(10): # Get and print the mouse coordinates. x, y pyautogui.position() positionStr 鼠标坐标点X,Y为{},{}.format(str(x).rjust(4), str(y).rjust(4)) pix pyautogui.screenshot().getpixel((x, y)) # 获取鼠标所在屏幕点的RGB颜色 positionStr RGB:( str(pix[0]).rjust(3) , str(pix[1]).rjust(3) , str(pix[2]).rjust( 3) ) print(positionStr) time.sleep(0.5) # 停顿时间 except: print(获取鼠标位置失败) if __name__ __main__: get_mouse_positon()
也可以使用pyautogui库帮助文档的方法不过本人认为使用上面的方法更加便利。pyautogui库帮助文档的获取鼠标位置的方法如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import pyautogui print(Press Ctrl-C to quit.) try: while True: # Get and print the mouse coordinates. x, y pyautogui.position() positionStr X: str(x).rjust(4) Y: str(y).rjust(4) pix pyautogui.screenshot().getpixel((x, y)) # 获取鼠标所在屏幕点的RGB颜色 positionStr RGB:( str(pix[0]).rjust(3) , str(pix[1]).rjust(3) , str(pix[2]).rjust(3) ) print(positionStr, end) # end 替换了默认的换行 print(\b * len(positionStr), end, flushTrue) # 连续退格键并刷新删除之前打印的坐标就像直接更新坐标效果 except KeyboardInterrupt: # 处理 Ctrl-C 按键 print(\nDone.)
键盘操作
我们在pyautogui库对于键盘的使用方法大体如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 import pyautogui pyautogui.typewrite(Hello world!) # 输入Hello world!字符串 pyautogui.typewrite(Hello world!, interval0.25) # 每次输入间隔0.25秒输入Hello world! pyautogui.press(enter) # 按下并松开轻敲回车键 pyautogui.press([left, left, left, left]) # 按下并松开轻敲四下左方向键 pyautogui.keyDown(shift) # 按下shift键 pyautogui.keyUp(shift) # 松开shift键 pyautogui.keyDown(shift) pyautogui.press(4) pyautogui.keyUp(shift) # 输出 $ 符号的按键 pyautogui.hotkey(ctrl, v) # 组合按键CtrlV粘贴功能按下并松开ctrl和v按键 # pyautogui.KEYBOARD_KEYS数组中就是press()keyDown()keyUp()和hotkey()函数可以输入的按键名称 pyautogui.KEYBOARD_KEYS [\t, \n, \r, , !, , #, $, %, , , (, ), *, , ,, -, ., /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, , , , ?, , [, \\, ], ^, _, , a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~, accept, add, alt, altleft, altright, apps, backspace, browserback, browserfavorites, browserforward, browserhome, browserrefresh, browsersearch, browserstop, capslock, clear, convert, ctrl, ctrlleft, ctrlright, decimal, del, delete, divide, down, end, enter, esc, escape, execute, f1, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f2, f20, f21, f22, f23, f24, f3, f4, f5, f6, f7, f8, f9, final, fn, hanguel, hangul, hanja, help, home, insert, junja, kana, kanji, launchapp1, launchapp2, launchmail, launchmediaselect, left, modechange, multiply, nexttrack, nonconvert, num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, numlock, pagedown, pageup, pause, pgdn, pgup, playpause, prevtrack, print, printscreen, prntscrn, prtsc, prtscr, return, right, scrolllock, select, separator, shift, shiftleft, shiftright, sleep, space, stop, subtract, tab, up, volumedown, volumemute, volumeup, win, winleft, winright, yen, command, option, optionleft, optionright]
弹窗操作
我们在pyautogui库对于弹出窗口的使用方法大体如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import pyautogui # 显示一个简单的带文字和OK按钮的消息弹窗。用户点击后返回button的文字。 pyautogui.alert(text, title, buttonOK) b pyautogui.alert(text要开始程序么, title请求框, buttonOK) print(b) # 输出结果为OK # 显示一个简单的带文字、OK和Cancel按钮的消息弹窗用户点击后返回被点击button的文字支持自定义数字、文字的列表。 pyautogui.confirm(text, title, buttons[OK, Cancel]) # OK和Cancel按钮的消息弹窗 pyautogui.confirm(text, title, buttonsrange(10)) # 10个按键0-9的消息弹窗 a pyautogui.confirm(text, title, buttonsrange(10)) print(a) # 输出结果为你选的数字 # 可以输入的消息弹窗带OK和Cancel按钮。用户点击OK按钮返回输入的文字点击Cancel按钮返回None。 pyautogui.prompt(text, title, default) # 样式同prompt()用于输入密码消息用*表示。带OK和Cancel按钮。用户点击OK按钮返回输入的文字点击Cancel按钮返回None。 pyautogui.password(text, title, default, mask*)
图像操作
我们在pyautogui库对于图像的使用方法大体如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 import pyautogui pyautogui.screenshot(rC:\Users\ZDH\Desktop\PY\my_screenshot.png) # 截全屏并设置保存图片的位置和名称 im pyautogui.screenshot(rC:\Users\ZDH\Desktop\PY\my_screenshot.png) # 截全屏并设置保存图片的位置和名称 print(im) # 打印图片的属性 # 不截全屏截取区域图片。截取区域region参数为左上角XY坐标值、宽度和高度 pyautogui.screenshot(rC:\Users\ZDH\Desktop\PY\region_screenshot.png, region(0, 0, 300, 400)) pix pyautogui.screenshot().getpixel((220, 200)) # 获取坐标(220,200)所在屏幕点的RGB颜色 positionStr RGB:( str(pix[0]).rjust(3) , str(pix[1]).rjust(3) , str(pix[2]).rjust(3) ) print(positionStr) # 打印结果为RGB:( 60, 63, 65) pix pyautogui.pixel(220, 200) # 获取坐标(220,200)所在屏幕点的RGB颜色与上面三行代码作用一样 positionStr RGB:( str(pix[0]).rjust(3) , str(pix[1]).rjust(3) , str(pix[2]).rjust(3) ) print(positionStr) # 打印结果为RGB:( 60, 63, 65) # 如果你只是要检验一下指定位置的像素值可以用pixelMatchesColor(x,y,RGB)函数把X、Y和RGB元组值穿入即可 # 如果所在屏幕中(x,y)点的实际RGB三色与函数中的RGB一样就会返回True否则返回False # tolerance参数可以指定红、绿、蓝3种颜色误差范围 pyautogui.pixelMatchesColor(100, 200, (255, 255, 255)) pyautogui.pixelMatchesColor(100, 200, (255, 255, 245), tolerance10) # 获得文件图片在现在的屏幕上面的坐标返回的是一个元组(top, left, width, height) # 如果截图没找到pyautogui.locateOnScreen()函数返回None a pyautogui.locateOnScreen(rC:\Users\ZDH\Desktop\PY\region_screenshot.png) print(a) # 打印结果为Box(left0, top0, width300, height400) x, y pyautogui.center(a) # 获得文件图片在现在的屏幕上面的中心坐标 print(x, y) # 打印结果为150 200 x, y pyautogui.locateCenterOnScreen(rC:\Users\ZDH\Desktop\PY\region_screenshot.png) # 这步与上面的四行代码作用一样 print(x, y) # 打印结果为150 200 # 匹配屏幕所有与目标图片的对象可以用for循环和list()输出 pyautogui.locateAllOnScreen(rC:\Users\ZDH\Desktop\PY\region_screenshot.png) for pos in pyautogui.locateAllOnScreen(rC:\Users\ZDH\Desktop\PY\region_screenshot.png): print(pos) # 打印结果为Box(left0, top0, width300, height400) a list(pyautogui.locateAllOnScreen(rC:\Users\ZDH\Desktop\PY\region_screenshot.png)) print(a) # 打印结果为[Box(left0, top0, width300, height400)]
到此这篇关于详解Python中pyautogui库的最全使用方法的文章就介绍到这了。 点击拿去 50G学习视频教程 100Python初阶、中阶、高阶电子书籍
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84407.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!