立即登录

自动点击网页按钮脚本 Python办公自动化—机器人代替双手实现自动点击录入(键盘鼠标自动化)

11/28 02:08:29

自动点击网页按钮脚本 Python办公自动化—机器人代替双手实现自动点击录入(键盘鼠标自动化)

对于从事将数据录入表格、操作ERP系统下订单,录发票、收发物料、录入凭证、导出数据的小伙伴来说卡盟,由于系统没有给数据导入接口自动点击网页按钮脚本,不得不累死累活地手工点击和输入。大家都希望能有这样一个工具自动点击网页按钮脚本,它可以驱动鼠标和键盘,代替自己来进行点选和录入工作,这样就可以解放双手,喝杯咖啡休息下了。

Python中的pyautogui库就是这样一款工具,有了它,操作规则明晰,量大重复性高的体力型电脑操作工作,都可以让机器人替你干了。

安装pyautogui库 在命令行执行

pip install pyautogui

常用的鼠标操作方法

# 鼠标左键单击桌面中的宽203,高530像素点
pyautogui.click(203, 350)
# 鼠标左键双桌面中的宽800,高600像素点
pyautogui.doubleClick(800, 600)
# 鼠标右键单击
pyautogui.rightClick()
# 鼠标中间键单击
pyautogui.middleClick()
# 鼠标滚轮滚动
pyautogui.scroll()
'''
其他操作请参考官网文档--鼠标操作
https://pyautogui.readthedocs.io/en/latest/mouse.html
'''

常用的键盘操作方法

# 按n键一次
pyautogui.press('n')
# 按数字键3一次
pyautogui.press('3')
# 按tab键四次,中间间隔0.005秒
pyautogui.press('tab', 4, 0.005)
# 组合键操作
pyautogui.hotkey('ctrl', 'pagedown')  # Ctrl+Pagedown组合键,实现翻页
pyautogui.hotkey('alt', 'f11')        # Alt+F11组合键,Excel中打开vbe
# 输入内容 
pyautogui.typewrite('=OR(CELL("row")=ROW(),CELL("col")=COLUMN())')  # 输入excel公式
pyautogui.typewrite('hello tom')  # 输入英文字符
'''
其他操作及各按键名称请参考官网文档--键盘操作
https://pyautogui.readthedocs.io/en/latest/keyboard.html
'''

其他操作

'''
Pyautogui还支持截图,显示消息框等,具体可根据需要参考官网
截图: https://pyautogui.readthedocs.io/en/latest/screenshot.html
消息: https://pyautogui.readthedocs.io/en/latest/msgbox.html
'''

注意事项

# 【重要】曾经遇到过的坑
'''
pyautogui.typewrite()函数对中文支持不好
中文输入可用pyperclip模块中转
'''
pyperclip.copy('中文')        # 先用拷贝中文
pyautogui.hotkey('ctrl','v')  # 再配合ctrl+v快捷键粘贴
'''
pyautogui代码运行前键鼠应调整为如下状态
鼠标:调为右手惯用模式。因为其中的click默认是物理上“在左边的键”,而不是系统中的“左键”,用左手鼠标的注意先调为右手惯用模式
输入法:调为英文状态。否则typewrite输入时会出麻烦。
'''

实例--自动操作Excel文件,实现选定行列聚光灯效果

代码如下

# 注意运行前键鼠为如下状态:鼠标为右手惯用模式,输入法英文状态
import pyautogui
pyautogui.PAUSE = 1.5       # 操作速度想要飞可调0。此处为能看清每步操作,设置每次等1.5秒再执行下一句
pyautogui.FAILSAFE = True   # 程序运行中错乱时鼠标移到屏幕左上角中断执行
# 切换窗口至Excel界面
pyautogui.hotkey('alt', 'tab')
# 在完成版中用鼠标点击如下几处演示效果
pyautogui.click(203, 350)
pyautogui.click(730, 650)
pyautogui.click(1050, 760)
pyautogui.click(1650, 880)
pyautogui.click(1200, 600)
pyautogui.click(600, 400)
pyautogui.click(300, 300)
# 切换至Excel中的“过程演示”sheet
pyautogui.hotkey('ctrl', 'pagedown')
# ctrl+* 全选当前区域
pyautogui.hotkey('ctrl', '*')
# 快捷键代开条件格式对话框,选“使用公式确定要设置格式的单元格”
pyautogui.hotkey('alt', 'h')
pyautogui.press('l')
pyautogui.press('n')
pyautogui.press('down', 5, 0.005)
# 切换至公式输入框,输入公式
pyautogui.press('tab')
pyautogui.typewrite('=OR(CELL("row")=ROW(),CELL("col")=COLUMN())')
# 点击右下方的“格式”按钮
pyautogui.press('tab')
pyautogui.press('enter')
# 设置字体颜色为红色
pyautogui.hotkey('ctrl', 'pagedown')
pyautogui.press('tab', 4, 0.005)
pyautogui.press('down', 3, 0.005)  # 简便起见选土红色
pyautogui.press('enter')
# 设置单元格背景颜色为黄色
pyautogui.hotkey('ctrl', 'pagedown')
pyautogui.hotkey('ctrl', 'pagedown')  # 此处默认选项卡停留在第一个页面
pyautogui.press('tab')
pyautogui.press('left', 7, 0.005)  # 选中黄色
pyautogui.press('enter')
pyautogui.press('tab', 5, 0.005)
pyautogui.press('enter')
pyautogui.press('tab')
pyautogui.press('enter')
# 添加vba代码,使选定单元格变动时更新条件格式的着色区域
pyautogui.hotkey('alt', 'f11')
pyautogui.doubleClick(148, 211)  # 选择目标sheet,进入其代码区,屏幕像素各不相同,仅为演示
# 将vba代码赋值给变量code,当然也可以从其他文件读取内容
code = '''
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Application.CutCopyMode = False Then
        Application.Calculate
    End If
'''   #  因为下方用typewrite方法输入代码,在输入第一句时VBE会自动补全“end sub”,故代码中无需此句
# 输入vba代码,并关闭vbe窗口
pyautogui.typewrite(code)
pyautogui.hotkey('alt', 'f4')
# 用鼠标点击如下几处测试效果
pyautogui.click(203, 350)
pyautogui.click(730, 650)
pyautogui.click(1050, 760)
pyautogui.click(1650, 880)
pyautogui.click(1200, 600)
pyautogui.click(600, 400)
pyautogui.click(300, 300)
# 另存为启用宏的工作簿
pyautogui.press('f12')
pyautogui.press('tab')
pyautogui.hotkey('alt', 'down')
print('操作完毕!')

总结

Pyautogui是非常简单的一个模块,有了它,想想此前需要耗费你大量精力,靠手工来操作的业务,有哪些可以让机器人替你完成,祝双手早日解放!

来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

最新资讯