鼠标中轴滚动&键盘输入
Posted 天际流云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鼠标中轴滚动&键盘输入相关的知识,希望对你有一定的参考价值。
python模拟鼠标中轴滚动
网上对这个说的不多,自己搜了些帖子,写下自己的经验:
需要用到的模块win32api、win32con,安装pywin32即可
下载地址:http://download.csdn.net/detail/clean_water/9759816
下面这个方法可模拟鼠标中轴滑动,-1代表页面向下,1代表向上。网上说了可以指定任意数,亲测后发现程序只识别正数、负数,正数向上移动一个位置,负数向下移动一个位置,跟值大小没关系。就是时候-1和-100没区别,都只向下移动一个单位而已。前两个参数可以是0。
win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL,0,0,-1)
完整代码如下
# -*- coding:utf-8 -*- import win32api import win32con # -1代表向下移动一个单位,-100也会向下移动一个单位,都是一个单位哦,亲~ win32api.mouse_event(win32con.MOUSEEVENTF_WHEEL,0,0,-1)
robot framework 的AutoItLibrary常用关键字
https://www.cnblogs.com/yaxue/p/7458755.html
3、win切换窗口(键盘按下alt,操作tab键)
操作步骤如下:
AutoITLibrary.send {ALT DOWN}
AutoITLibrary.send {tab}
AutoITLibrary.send {tab}
AutoItLibrary.Send {ALT UP}
其它键盘操作,请参考:
键盘输入
[Arguments] ${keys} ${flag}=0
[Documentation] 模拟键盘输入,需要两个参数:
... 第一个参数: 需要输入的键盘按键
... 第二个参数: 标记变量,可选值,默认为0,
... 0: 代表第一个参数${keys}中的!+^#代表特殊按键
... 1: 代表第一个参数${keys}中的所有字符都是普通字符串
... 举例:
... ^a^c^v!{F4} 代表:Ctrl+a Ctrl+c Ctrl+v Alt+F4
... 关于特殊按键的说明:
... 如果${flag}为0,则:
... ! 代表ALT按键
... + 代表SHIFT按键
... ^ 代表CTRL按键
... # 代表WIN按键
... 比如:!+a 代表:ALT+SHIFT+a
... 其他特殊按键:
... ${flags}为0的时候,还支持下述特殊按键:
... 输入 最终的键盘按键
... {!} !
... {#} #
... {+} +
... {^} ^
... {{} {
... {}} }
... {SPACE} SPACE
... {ENTER} ENTER key on the main keyboard
... {ALT} ALT
... {BACKSPACE} or {BS} BACKSPACE
... {DELETE} or {DEL} DELETE
... {UP} Cursor up
... {DOWN} Cursor down
... {LEFT} Cursor left
... {RIGHT} Cursor right
... {HOME} HOME
... {END} END
... {ESCAPE} or {ESC} ESCAPE
... {INSERT} or {INS} INS
... {PGUP} PageUp
... {PGDN} PageDown
... {F1} - {F12} Function keys
... {TAB} TAB
... {PRINTSCREEN} Print Screen key
... {LWIN} Left Windows key
... {RWIN} Right Windows key
... {NUMLOCK on} NUMLOCK (on/off/toggle)
... {CAPSLOCK off} CAPSLOCK (on/off/toggle)
... {SCROLLLOCK toggle} SCROLLLOCK (on/off/toggle)
... {BREAK} for Ctrl+Break processing
... {PAUSE} PAUSE
... {NUMPAD0} - {NUMPAD9} Numpad digits
... {NUMPADMULT} Numpad Multiply
... {NUMPADADD} Numpad Add
... {NUMPADSUB} Numpad Subtract
... {NUMPADDIV} Numpad Divide
... {NUMPADDOT} Numpad period
... {NUMPADENTER} Enter key on the numpad
... {APPSKEY} Windows App key
... {LALT} Left ALT key
... {RALT} Right ALT key
... {LCTRL} Left CTRL key
... {RCTRL} Right CTRL key
... {LSHIFT} Left Shift key
... {RSHIFT} Right Shift key
... {ALTDOWN} Holds the ALT key down until {ALTUP} is sent
... {SHIFTDOWN} Holds the SHIFT key down until {SHIFTUP} is sent
... {CTRLDOWN} Holds the CTRL key down until {CTRLUP} is sent
... {LWINDOWN} Holds the left Windows key down until {LWINUP} is sent
... {RWINDOWN} Holds the right Windows key down until {RWINUP} is sent
... {ASC nnnn} Send the ALT+nnnn key combination
AutoItLibrary.Send ${keys} ${flag}
键盘输入Alt+F4
AutoItLibrary.Send !{F4}
键盘输入Ctrl+Space
AutoItLibrary.Send ^{SPACE}
键盘输入Ctrl+a
AutoItLibrary.Send ^a
键盘输入Ctrl+c
AutoItLibrary.Send ^c
键盘输入Ctrl+v
AutoItLibrary.Send ^v
键盘输入Ctrl+s
AutoItLibrary.Send ^s
键盘输入Ctrl+p
AutoItLibrary.Send ^p
键盘输入Ctrl+Home
AutoItLibrary.Send ^{HOME}
键盘输入Ctrl+End
AutoItLibrary.Send ^{END}
键盘输入Win+d
键盘输入 {LWINDOWN}d{LWINUP}
键盘输入Win+r
键盘输入 {LWINDOWN}r{LWINUP}
补充一下:
"Send" 命令语法类似 ScriptIt(微软提供的命令行程序) 与 Visual Basic 的 "SendKeys" 命令. 字符按原样发送, 但下列字符除外:
\'!\'
1). 发送 ALT 键击动作, 因此, Send("This is text!a") 将发送 "This is text" 然后点击 "ALT+a";
2). 有些程序区分字母的大小写和 ALT 键, 即: "!A" 不同于 "!a". "!A" 表示 ALT+SHIFT+A, 而 "!a" 则表示 ALT+a. 如果有疑问最好使用小写!
\'+\'
发送 SHIFT 键击动作, Send("Hell+o") 表示发送文本 "HellO". 而 Send("!+a") 表示发送 "ALT+SHIFT+a".
\'^\'
1). 发送CTRL键击动作, Send("^!a") 表示发送 "CTRL+ALT+a";
2). 有些程序区分字母的大小写和 CTRL 键,即 "^A" 不同于 "^a". "^A" 表示 CTRL+SHIFT+A, 而 "^a" 表示 CTRL+a. 如果有疑问最好使用小写!
\'#\'
发送 Windows 徽标键; Send("#r") 表示发送 Win+r 启动"运行"对话框,在RF中使用#时需要用\\转义
以上是关于鼠标中轴滚动&键盘输入的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的鼠标滚动时会莫名其妙的变成放大缩小页面了?该怎么办?