Python moni模拟鼠标事件
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
# # _*_ coding:UTF-8 _*_ __author__ = 'shanl' '''\ 代码比较粗糙,凑合着看吧。 用这个东西需要先装:pywin32--windows下调用winapi的接口 以下是一些资源和下载链接: pywin32下载地址:http://sourceforge.net/projects/pywin32/files%2Fpywin32/ http://www.linuxidc.com/Linux/2011-12/48525.htm http://bbs.csdn.net/topics/390620781?page=1 https://gist.github.com/chriskiehl/2906125 ''' import win32api import win32con import win32gui from ctypes import * import time VK_CODE = { 'backspace' : 0x08 , 'tab' : 0x09 , 'clear' : 0x0C , 'enter' : 0x0D , 'shift' : 0x10 , 'ctrl' : 0x11 , 'alt' : 0x12 , 'pause' : 0x13 , 'caps_lock' : 0x14 , 'esc' : 0x1B , 'spacebar' : 0x20 , 'page_up' : 0x21 , 'page_down' : 0x22 , 'end' : 0x23 , 'home' : 0x24 , 'left_arrow' : 0x25 , 'up_arrow' : 0x26 , 'right_arrow' : 0x27 , 'down_arrow' : 0x28 , 'select' : 0x29 , 'print' : 0x2A , 'execute' : 0x2B , 'print_screen' : 0x2C , 'ins' : 0x2D , 'del' : 0x2E , 'help' : 0x2F , '0' : 0x30 , '1' : 0x31 , '2' : 0x32 , '3' : 0x33 , '4' : 0x34 , '5' : 0x35 , '6' : 0x36 , '7' : 0x37 , '8' : 0x38 , '9' : 0x39 , 'a' : 0x41 , 'b' : 0x42 , 'c' : 0x43 , 'd' : 0x44 , 'e' : 0x45 , 'f' : 0x46 , 'g' : 0x47 , 'h' : 0x48 , 'i' : 0x49 , 'j' : 0x4A , 'k' : 0x4B , 'l' : 0x4C , 'm' : 0x4D , 'n' : 0x4E , 'o' : 0x4F , 'p' : 0x50 , 'q' : 0x51 , 'r' : 0x52 , 's' : 0x53 , 't' : 0x54 , 'u' : 0x55 , 'v' : 0x56 , 'w' : 0x57 , 'x' : 0x58 , 'y' : 0x59 , 'z' : 0x5A , 'numpad_0' : 0x60 , 'numpad_1' : 0x61 , 'numpad_2' : 0x62 , 'numpad_3' : 0x63 , 'numpad_4' : 0x64 , 'numpad_5' : 0x65 , 'numpad_6' : 0x66 , 'numpad_7' : 0x67 , 'numpad_8' : 0x68 , 'numpad_9' : 0x69 , 'multiply_key' : 0x6A , 'add_key' : 0x6B , 'separator_key' : 0x6C , 'subtract_key' : 0x6D , 'decimal_key' : 0x6E , 'divide_key' : 0x6F , 'F1' : 0x70 , 'F2' : 0x71 , 'F3' : 0x72 , 'F4' : 0x73 , 'F5' : 0x74 , 'F6' : 0x75 , 'F7' : 0x76 , 'F8' : 0x77 , 'F9' : 0x78 , 'F10' : 0x79 , 'F11' : 0x7A , 'F12' : 0x7B , 'F13' : 0x7C , 'F14' : 0x7D , 'F15' : 0x7E , 'F16' : 0x7F , 'F17' : 0x80 , 'F18' : 0x81 , 'F19' : 0x82 , 'F20' : 0x83 , 'F21' : 0x84 , 'F22' : 0x85 , 'F23' : 0x86 , 'F24' : 0x87 , 'num_lock' : 0x90 , 'scroll_lock' : 0x91 , 'left_shift' : 0xA0 , 'right_shift ' : 0xA1 , 'left_control' : 0xA2 , 'right_control' : 0xA3 , 'left_menu' : 0xA4 , 'right_menu' : 0xA5 , 'browser_back' : 0xA6 , 'browser_forward' : 0xA7 , 'browser_refresh' : 0xA8 , 'browser_stop' : 0xA9 , 'browser_search' : 0xAA , 'browser_favorites' : 0xAB , 'browser_start_and_home' : 0xAC , 'volume_mute' : 0xAD , 'volume_Down' : 0xAE , 'volume_up' : 0xAF , 'next_track' : 0xB0 , 'previous_track' : 0xB1 , 'stop_media' : 0xB2 , 'play/pause_media' : 0xB3 , 'start_mail' : 0xB4 , 'select_media' : 0xB5 , 'start_application_1' : 0xB6 , 'start_application_2' : 0xB7 , 'attn_key' : 0xF6 , 'crsel_key' : 0xF7 , 'exsel_key' : 0xF8 , 'play_key' : 0xFA , 'zoom_key' : 0xFB , 'clear_key' : 0xFE , '+' : 0xBB , ',' : 0xBC , '-' : 0xBD , '.' : 0xBE , '/' : 0xBF , '`' : 0xC0 , ';' : 0xBA , '[' : 0xDB , '\\' : 0xDC , ']' : 0xDD , "'" : 0xDE , '`' : 0xC0 } class POINT(Structure): _fields_ = [( "x" , c_ulong),( "y" , c_ulong)] def get_mouse_point(): po = POINT() windll.user32.GetCursorPos(byref(po)) return int (po.x), int (po.y) def mouse_click(x = None ,y = None ): if not x is None and not y is None : mouse_move(x,y) time.sleep( 0.05 ) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0 , 0 , 0 , 0 ) def mouse_dclick(x = None ,y = None ): if not x is None and not y is None : mouse_move(x,y) time.sleep( 0.05 ) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0 , 0 , 0 , 0 ) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0 , 0 , 0 , 0 ) def mouse_move(x,y): windll.user32.SetCursorPos(x, y) def key_input( str = ''): for c in str : win32api.keybd_event(VK_CODE[c], 0 , 0 , 0 ) win32api.keybd_event(VK_CODE[c], 0 ,win32con.KEYEVENTF_KEYUP, 0 ) time.sleep( 0.01 ) def t0(): pass def t2(): mouse_click( 800 , 200 ) for c in 'hello' : win32api.keybd_event( 65 , 0 , 0 , 0 ) #a键位码是86 win32api.keybd_event( 65 , 0 ,win32con.KEYEVENTF_KEYUP, 0 ) #print get_mouse_point() def t1(): #mouse_move(1024,470)aa #time.sleep(0.05) #mouse_dclick()HELLO mouse_dclick( 1024 , 470 ) def t3(): mouse_click( 1024 , 470 ) str = 'hello' for c in str : win32api.keybd_event(VK_CODE[c], 0 , 0 , 0 ) #a键位码是86 win32api.keybd_event(VK_CODE[c], 0 ,win32con.KEYEVENTF_KEYUP, 0 ) time.sleep( 0.01 ) def t4(): mouse_click( 1024 , 470 ) str = 'hello' key_input( str ) if __name__ = = "__main__" : t4() #t3() #t2() #t1() t0() |
Python moni模拟鼠标事件的更多相关文章
- Python+Selenium学习--鼠标事件
场景 前景讲解了鼠标的click()事件,而我们在实际的web产品测试中,有关鼠标的操作,不仅仅只有单击,有时候还包括右击,双击,拖动等操作,这些操作包含在ActionChains类中. Action ...
- python + selenium webdriver 通过python来模拟鼠标、键盘操作,来解决SWFFileUpload调用系统底层弹出框无法定位问题
Webdriver是基于浏览器操作的,当页面上传文件使用的是flash的控件SWFFileUpload调用的时候,调用的是系统底层的文件选择弹出框 这种情况,Webdriver暂时是不支持除页面外的其 ...
- python学习之鼠标事件&键盘事件
driver.maximize_window() 浏览器最大化 ActionChains类与输入事件 1:from selenium.webdriver.common.action_chains ...
- selenium-webdriver(python) (十五) -- 鼠标事件
本节重点: ActionChains 类 context_click() 右击 double_click() 双击 drag_and_drop() 拖动 测试的产品中有一个操作是右键点击文件列 ...
- 如何使用python来模拟鼠标点击(将通过实例自动化模拟在360浏览器中自动搜索"python")
一.准备工作: 安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作. pywin32的具体安装及注意事项: 1.整体开发环境: 基于windows7操作系 ...
- OSG模拟鼠标事件影响操纵器
viewer->getEventQueue()->mouseButtonPress(0,0,1); viewer->getEventQueue()->mouseMotion(1 ...
- python+selenium模拟鼠标操作
from selenium.webdriver.common.action_chains import ActionChains #导入鼠标相关的包 ------------------------- ...
- js 模拟鼠标事件
<!DOCTYPE html> <html> <head lang="zh-CN"> <meta charset="UTF-8& ...
- java script 模拟鼠标事件
try { var selector1 = "._3-8y:first-child"; var evt = document.createEvent("MouseEven ...
随机推荐
- 想进BAT?这些面试题助你一臂之力
1 软性热身题 这种题目,考的就是你的软性能力,比如表达能力,理解能力,协调能力,一个词概括就是套路.这类题目会在面试开始热身的时候,问一道两题,不会多,但是如果你能回答的有条不紊,清晰达意,那么就会 ...
- 第1章 HTML基础
1.1 HTML概述 1.1.1 什么是HTML HTML(Hyper Text Markup Language,超 文本 标记 语言)是纯文本类型的语言,它是Internet上用于编写网页的主要语言 ...
- ThinkPHP5 连接 PostgreSQL
$request = Db::connect( [ 'type' => 'pgsql', 'hostname' => '127.0.0.1', 'database' => 'keyw ...
- 从shell(终端)中退出python
从shell(终端)中退出python: 1.输入命令行:$ exit() 2.快捷键: ctrl+Z
- Leetcode 581.最短无序连续子数组
最短无序连续子数组 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 示例 1: 输入: [2, ...
- HDU 2440、HDU 3694多边形费马点
1.http://acm.hdu.edu.cn/showproblem.php?pid=2440 按照题意知道是一个简单的多边形即凸包,但给出的点并没有按照顺序的,所以需要自己先求出凸包,然后在用 ...
- Linux抓包工具tcpdump命令详解
1.简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中 ...
- wcf获取最新版本之后自己的东西没了
大概意思,点击显示所有文件,然后在那些文件上右击 包括在项目中就行了 图呢.......我当时添加进来的图呢
- BZOJ3295 [Cqoi2011]动态逆序对 【CDQ分治】
题目 对于序列A,它的逆序对数定义为满足i 输入格式 输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数.以下n行每行包含一个1到n之间的正整数,即初始排列.以下m行每行一个正整数,依次为 ...
- css的fix高度缺失
这个方法是百度百科手机页面用的,先为固定定位元素设一个父元素,不设高度,不设宽度,什么都不设,他的第一个子元素是我们需要做固定定位的元素,这个按照需求写好样式,此时,父元素的高度依然是0,如何使得父元 ...