python+pyautogui—PC端自动化(二)键盘鼠标及对话框操作

这篇具有很好参考价值的文章主要介绍了python+pyautogui—PC端自动化(二)键盘鼠标及对话框操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

鼠标操作

获取鼠标所在位置坐标

获取鼠标所在位置的RGB值

鼠标点击

鼠标按下和释放

鼠标移动

鼠标拖拽

滚轮滚动

键盘操作

输入英文字符

普通按键操作press

按下与抬起

组合键hotkey

持续按键hold

弹出对话框

alert

confirm

prompt

password


鼠标操作

获取鼠标所在位置坐标

x, y = pyautogui.position()  # 获取鼠标当前位置坐标
print(x, y)

获取鼠标所在位置的RGB值

print(pyautogui.screenshot().getpixel((1434, 488)))  # 获取鼠标当前位置坐标的的屏幕RGB颜色值
print(pyautogui.pixel(1434, 488))  # 同.screenshot().getpixel((x, y))

鼠标点击

pyautogui.leftClick(1864, 43)  # 单击
pyautogui.rightClick(1864, 43)  # 右击
pyautogui.doubleClick(1864, 43)  # 双击
pyautogui.tripleClick(1864, 43)  # 三次单击
pyautogui.middleClick(1864, 43)  # 中间键点击

pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button='left'),clicks点击次数;interval每次点击的间隔时长;x,y为空默认选择当前位置的坐标

pyautogui.click()  # 鼠标当前位置点击一下
pyautogui.click(1864, 43, 2, 1, button='left')

鼠标按下和释放

# 鼠标按下与释放,模拟拖拽鼠标
pyautogui.mouseDown(1864, 43,  button='left')  # 鼠标左键按下
pyautogui.moveTo(1500, 200)
pyautogui.mouseUp()  # 抬起鼠标按键,添加坐标会拖动鼠标到某个位置后释放

鼠标移动

参数:duration为持续时间

moveTo :移动到某个位置,原点为电脑屏幕左上角(相对真个屏幕而言),

for i in range(1, 5):
    print(i * 100, i * 100)
    pyautogui.moveTo(i * 100, i * 100, duration=.2)  # 移动到某个位置,原点为电脑屏幕左上角(相对真个屏幕而言)

moveRel(move) :从当前位置移动为原点(原点为当前位置),移动到某个偏移向量(相对当前位置而言),可控制上下左右的移动

for i in range(1, 5):
    print(i * 100, i * 100)
    pyautogui.moveRel(i * 100, i * 100, duration=.2)  # 从当前位置移动为原点(原点为当前位置),移动到某个偏移向量(相对当前位置而言),可控制上下左右的移动
    
pyautogui.move(500, 500, .5)    # 同moveRel

缓动/渐变函数可改变光标移动过程的速度和方向。通常鼠标是匀速直线运动,这就是线性缓动/渐变函数。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)  # 徘徊幅度更大,甚至超过起点和终点

鼠标拖拽

pyautogui.dragTo(1867, 125,duration=.2, button='left')  # 按住鼠标左键,将鼠标拖拽到某个位置(相对于屏幕而言)
pyautogui.dragRel(0, 100, duration=0.5)  # 按住鼠标左键,将鼠标拖拽到某个位置(相对当前位置而言)
pyautogui.drag(-300, 100, .5, button='left')  # 同dragRel

滚轮滚动

# pyautogui.hscroll(500)   # 滚轮水平滚动
# pyautogui.vscroll(500)  # 滚轮垂直滚动
# pyautogui.scroll(clicks=amount_to_scroll, x=moveToX, y=moveToY)  # amount_to_scroll参数表示滚动的格数,正数则页面向上滚动,负数则向下滚动
for _ in range(10):
    time.sleep(.2)
    pyautogui.scroll(100)

键盘操作

键盘操作,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.typewrite('test', interval=.25)  # 输入字符串,interval参数为每次键盘输入的间隔时间,默认为0
pyautogui.write('test', interval=.25)  # 英文输入,同上

普通按键操作press

pyautogui.press('enter')  # 点击回车键
pyautogui.press(['left', 'down', 'right', 'up'])  # 连续按键

按下与抬起

pyautogui.keyDown('win')  # 按下win键
pyautogui.press('r')
pyautogui.keyUp('win')  # 松开win键

组合键hotkey

pyautogui.hotkey('win', 'e')

持续按键hold

with pyautogui.hold('win'):
# 先按住win,再按三次其他按键,再释放win
    for i in ['e', 'i', 'r']:
        time.sleep(2)
        pyautogui.press(i)

弹出对话框

alert

一个简单的带文字和OK按钮的消息弹窗,用户点击后返回button的文字

a = pyautogui.alert(text='确认要删除此文件吗?', title='删除文件', button='确定')
print(a)

  python+pyautogui—PC端自动化(二)键盘鼠标及对话框操作,自动化测试,自动化

confirm

显示一个简单的带文字、OK和Cancel按钮的消息弹窗,用户点击后返回被点击button的文字,支持自定义数字、文字的列表

# b = pyautogui.confirm(text='请选择一个数字', title='', buttons=range(10))
# print(b)
pyautogui.confirm(text='是否进行下一步?', title='', buttons=['下一步', '退出'])

  python+pyautogui—PC端自动化(二)键盘鼠标及对话框操作,自动化测试,自动化

prompt

可以输入的消息弹窗,带OK和Cancel按钮,用户点击OK按钮返回输入的文字,点击Cancel按钮返回None

c = pyautogui.prompt(text='输入要提交的内容:', title='', default='')
print(c)

  python+pyautogui—PC端自动化(二)键盘鼠标及对话框操作,自动化测试,自动化

password

样式同prompt(),用于输入密码,消息用*表示。带OK和Cancel按钮。用户点击OK按钮返回输入的文字,点击Cancel按钮返回None文章来源地址https://www.toymoban.com/news/detail-529916.html

pyautogui.password(text='请输入密码:', title='', default='', mask='*')

到了这里,关于python+pyautogui—PC端自动化(二)键盘鼠标及对话框操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用Python实现电脑鼠标和键盘办公自动化

    Python的确是一个了不起的编程语言和工具,它可以用来构建各种脚本和实用程序,这些脚本和实用程序可以帮助你化繁为简、让很多事情都实现自动化…以下是从海外博客上学习积累到的,做个分享,如果感兴趣,会陆陆续续做些编辑补充。 ( 文末领取读者福利 ) 这次,我

    2024年02月15日
    浏览(44)
  • Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标

    原文:https://automatetheboringstuff.com/2e/chapter20/ 了解用于编辑电子表格、下载文件和启动程序的各种 Python 模块是很有用的,但有时您需要使用的应用没有任何模块。在计算机上实现任务自动化的终极工具是你编写的直接控制键盘和鼠标的程序。这些程序可以通过发送虚拟击键和

    2024年02月09日
    浏览(56)
  • Selenium+python自动化测试之鼠标和键盘事件

    前面的例子中,点击事件都是通过click()方法实现鼠标的点击事件。其实在WebDriver中,提供了许多鼠标操作的方法,这些操作方法都封装在ActionChains类中,包括鼠标右击、双击、悬停和鼠标拖动等功能。 ActionChains类提供的鼠标操作事件 context_click():点击鼠标右键 double_click():双

    2024年04月09日
    浏览(71)
  • 【基础】Python+Selenium自动化测试之键盘、鼠标操作

    目录 鼠标操作 导包方法 使用语法 鼠标常用操作 键盘操作 导包方法 使用语法 键盘常用操作 鼠标操作 模拟用户在页面上用鼠标进行的操作 导包方法 使用语法 使用 ActionChains 需要在鼠标操作后,使用 .perform() 提交鼠标操作 链式编程 分布式编程 鼠标常用操作 键盘操作 模拟

    2024年04月28日
    浏览(34)
  • python自动化运维——模拟键盘鼠标重复性操作Pyautoui

    将程序与cmd.xls文件放在同一文件夹,每一步的截图也放在当前文件夹 通过图片在屏幕上面进行比对,找到点击处进行自动化操作 自动化rpa测试 1. Pyautoui 模块:主要针对图片进行定位 pyautogui.locateCenterOnScreen() ,在屏幕上面找到该图片位置后进行 pyautogui.click 单击,双击,右键

    2024年02月06日
    浏览(46)
  • 【UI自动化测试技术】自动化测试研究:Python+Selenium+Pytest+Allure,详解UI自动化测试,学习模拟鼠标+模拟键盘进行相关操作(精)(四)

    1、了解元素交互的常用方法 2、学习如何对多选元素进行操作 3、 学习模拟鼠标进行相关操作 ( 本节目标 ) 4、 学习模拟键盘进行相关操作 ( 本节目标 ) 用于向 Web 浏览器提供虚拟化设备输入操作的低级接口.除了刚刚讲过的Web元素交互之外, Actions 接口 还提供了对指定输

    2024年03月24日
    浏览(89)
  • python pyautogui+pynput鼠标键盘自动控制与监听

    参考https://blog.csdn.net/hfy1237/article/details/127960423 官方文档 https://pyautogui.readthedocs.io/en/latest/ 1、基本函数 常用函数列表 函数名 功能 基本 pyautogui.size() 返回包含分辨率的元组 pyautogui.PAUSE 每个函数的停顿时间,默认0.1s pyautogui.FAILSAFE 是否开启防故障功能,默认True 键盘 pyautogui

    2024年02月11日
    浏览(53)
  • 〖Python WEB 自动化测试实战篇⑦〗- 实战 - selenium的基本元素操作与键盘鼠标模拟事件操作

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月08日
    浏览(70)
  • Python 自动化详解(pyautogui)

    2.1.1 定位 2.1.2 移动 2.1.3 拖动 2.1.4 滚动 2.1.5 点击 2.2.1 输入 2.2.2 按键 注:暂不支持中文 键盘字符串 说明 enter 回车键 tab TAB 键 space 空格键 up、down、left、right 方向键 ctrl Ctrl 键 … … 2.2.3 快捷键 2.3.1 截图 2.3.2 分辨率 2.4.1 提示框 2.4.2 选择框 2.4.3 密码输入 2.4.4 普通输入

    2024年02月08日
    浏览(62)
  • python自动化神器:pyautogui

    详情可访问:pyautogui官网地址,关注本专栏,学习自动发消息给对象 pyautogui是一个Python模块,可以模拟用户在屏幕上的鼠标和键盘操作。它可以自动化鼠标和键盘输入,可以用于各种自动化任务,例如GUI测试、自动化数据输入、自动化游戏玩法等。pyautogui提供了一组函数来控

    2024年02月13日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包