1.安装pywinauto
pip installpywinauto
2.打开PC的.exe可执行文件的,一种方式就够用了
from pywinauto importapplication
app= application.Application().start('notepad.exe')
效果:
3.可以看到窗口的名字是'无标题-记事本'
打印一下这个窗口输入的位置
print(app[chuangkou].print_control_identifiers())
结果
Control Identifiers:
Notepad- '无标题 - 记事本'(L473, T291, R1267, B688)
['Notepad', '无标题 - 记事本', '无标题 - 记事本Notepad']
child_window(title="无标题 - 记事本", class_name="Notepad")|
| Edit - ''(L481, T341, R1259, B658)| ['Edit', '无标题 - 记事本Edit']| child_window(class_name="Edit")|
| StatusBar - ''(L481, T658, R1259, B680)| ['StatusBar 第 1 行,第 1 列', 'StatusBar', '无标题 - 记事本StatusBar']| child_window(class_name="msctls_statusbar32")
4.写一个试试:
from pywinauto importapplication
app= application.Application().start('notepad.exe')
chuangkou= '无标题-记事本'
#print(app[chuangkou].print_control_identifiers())
app[chuangkou].Edit.type_keys("我的第一个输入 哈哈\n",with_spaces=True,with_newlines=True)#with_spaces空格不减
app[chuangkou].Edit.type_keys("可喜可贺 哈哈\n",with_spaces=True,with_newlines=True)#with_newlines换行
结果:
5.点击一下菜单栏试试-->效果: 点击文件--退出--不保存
第一步:
from pywinauto importapplication
app= application.Application().start('notepad.exe')
chuangkou= '无标题-记事本'
#print(app[chuangkou].print_control_identifiers())
app[chuangkou].Edit.type_keys("我的第一个输入 哈哈\n",with_spaces=True,with_newlines=True)#with_spaces空格不减
app[chuangkou].Edit.type_keys("可喜可贺 哈哈\n",with_spaces=True,with_newlines=True)#with_newlines换行
app[chuangkou].menu_select("文件->退出")
6.效果
7.切换到弹出窗口点击不保存按钮
from pywinauto importapplication
app= application.Application().start('notepad.exe')
chuangkou= '无标题-记事本'
#print(app[chuangkou].print_control_identifiers())
app[chuangkou].Edit.type_keys("我的第一个输入 哈哈\n",with_spaces=True,with_newlines=True)#with_spaces空格不减
app[chuangkou].Edit.type_keys("可喜可贺 哈哈\n",with_spaces=True,with_newlines=True)#with_newlines换行
app[chuangkou].menu_select("文件->退出")
out_1= '记事本'anniu= '不保存'app[out_1][anniu].click()
效果:
8.鼠标操作:
from time importsleepfrom pywinauto.mouse importmove
x=y=20
for i in range(10):
xq=x*i
yq=y*i
sleep(1)
move(coords=(xq,yq))#移动鼠标
9键盘操作:1.
#引入键盘操作
from pywinauto.keyboard importsend_keys#发送键盘指令
send_keys('11111111')
2.
#引入键盘操作
from time importsleepfrom pywinauto.keyboard importsend_keys#发送键盘指令
send_keys('{VK_LWIN}cmd{VK_RETURN}')
sleep(0.5)
send_keys('ipconfig{VK_RETURN}')
效果1:鼠标的光标位置写了值
效果2:
常用ASCII码/ASCII[ASCII]
ESC键:VK_ESCAPE (27)
回车键:VK_RETURN (13)
TAB键:VK_TAB (9)
Caps Lock键:VK_CAPITAL (20)
Shift键:VK_SHIFT (16)
Ctrl键:VK_CONTROL (17)
Alt键:VK_MENU (18)
空格键:VK_SPACE (32)
退格键:VK_BACK (8)
左徽标键:VK_LWIN (91)
右徽标键:VK_RWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键:VK_INSERT (45)
Home键:VK_HOME (36)
Page Up:VK_PRIOR (33)
PageDown:VK_NEXT (34)
End键:VK_END (35)
Delete键:VK_DELETE (46)
方向键(←):VK_LEFT (37)
方向键(↑):VK_UP (38)
方向键(→):VK_RIGHT (39)
方向键(↓):VK_DOWN (40)
F1键:VK_F1 (112)
F2键:VK_F2 (113)
F3键:VK_F3 (114)
F4键:VK_F4 (115)
F5键:VK_F5 (116)
F6键:VK_F6 (117)
F7键:VK_F7 (118)
F8键:VK_F8 (119)
F9键:VK_F9 (120)
F10键:VK_F10 (121)
F11键:VK_F11 (122)
F12键:VK_F12 (123)
Num Lock键:VK_NUMLOCK (144)
小键盘0:VK_NUMPAD0 (96)
小键盘1:VK_NUMPAD1 (97)
小键盘2:VK_NUMPAD2 (98)
小键盘3:VK_NUMPAD3 (99)
小键盘4:VK_NUMPAD4 (100)
小键盘5:VK_NUMPAD5 (101)
小键盘6:VK_NUMPAD6 (102)
小键盘7:VK_NUMPAD7 (103)
小键盘8:VK_NUMPAD8 (104)
小键盘9:VK_NUMPAD9 (105)
小键盘。:VK_DECIMAL (110)
小键盘*:VK_MULTIPLY (106)
小键盘+:VK_ADD (107)
小键盘-:VK_SUBTRACT (109)
小键盘/:VK_DIVIDE (111)
Pause Break键:VK_PAUSE (19)
Scroll Lock键:VK_SCROLL (145)
10.常用的Shift 和Ctrl 和Alt 组合按键
"+" ----------------------------> 按Shift
"^" ---------------------------->按Ctrl
"%" ----------------------------> 按Alt
"^s" ----------------------------> 按Ctrl+S进行保存的操作
试试:
#引入键盘操作
from pywinauto.keyboard importsend_keys#发送键盘指令
send_keys("+a")
效果: