首页 > 其他分享 >模拟鼠标键盘操作PyUserInput

模拟鼠标键盘操作PyUserInput

时间:2023-09-22 17:47:00浏览次数:35  
标签:鼠标 button character PyUserInput 键盘 key keyboard 100

模拟鼠标操作是模拟鼠标点击和键盘输入的操作,UI自动化测试中非常实用。在Web UI、App UI、WinApp UI自动化测试讲解中借助Selenium和Appium框架下ActionChains、TouchAction、MouseButton等类已经介绍了如何模拟鼠标和键盘操作。本文将为大家介绍一个独立的、任何时候都可以模拟鼠标和键盘操作的Python第三方库PyMouse和PyKeyboard。
PyMouse和PyKeyboard库都集成在PyUserInput库中,支持在Linux、Mac、Windows系统中使用,但是不同的操作系统使用时依赖库是不同的,Linux系统下依赖Xlib库、Mac系统下依赖Quartz和AppKit库、Windows系统下依赖pywin32和pyHook库。在安装上和Python其他第三方库安装相同,命令行工具中输入pip install PyUserInput库即可完成安装。

鼠标操作

鼠标操作种类繁多,例如左键单击、鼠标移动、鼠标拖拽、滚动、鼠标按下、鼠标释放等。PyMouse类下提供的方法如下:
 drag(x, y):鼠标拖拽到x,y坐标。
 move(x, y):鼠标移动到x,y坐标。
 position():返回鼠标当前x,y坐标。
 press(x, y, button=1):鼠标在x,y坐标处按下不松开,参数button表示按键。1代表左键、2代表中间键、3代表右键。
 release(x, y, button=1):鼠标在x,y坐标处松开,参数button表示按键。1代表左键、2代表中间键、3代表右键。
 scroll(vertical=None, horizontal=None, depth=None):鼠标滚动。支持垂直、水平和深度三个方向。
 click(x, y, button=1, n=1):鼠标在x,y坐标处点击。参数button表示按键,1代表左键、2代表中间键、3代表右键,参数n表示点击几次。
例如鼠标在坐标x=100,y=100处左键点击两次,代码如下:

# pymouse_demo.py
from pymouse import PyMouse

# 实例化鼠标对象
mouse = PyMouse()
# x=100, y=100 处左键点击两次
mouse.click(x=100, y=100, button=1, n=2)

键盘操作

键盘操作种类也有很多种,例如按下某键、释放某键、发送组合键等。PyKeyboard类下提供的方法如下:
 press_key(character):按下character键。
 release_key(character):释放character键。
 tap_key(character):轻击character键。
 tap_key(character,n,interval):连续轻击character键。参数n表示连续轻击次数,参数interval表示两次轻击之间的间隔时间。例如tap_key('l',n=2,interval=5)。
 type_string(char_string):发送字符串。
 PyKeyboard也提供了特殊键,部分特殊键如下:
 alt_key:Alt键。
 tab_key:Tab键。
 backspace_key:BackSpace键。
 return_key:Return键。
 enter_key:Enter键。
 shift_l_key:Shift+L键。
 alt_r_key:Alt+R键。
 control_r_key:Control+R键。
 cancel_key:Cancel键。
 function_keys[n]:function区域键,例如F5键就是function_keys[5]。
 numpad_keys['Home']:数字键盘键,例如Home键就是numpad_keys['Home'],数字键盘5键就是numpad_keys[5]。
例如发送字符串“Hello World!”和发送Alt+Tab组合键,代码如下:

# pykeyboard_demo.py
from pykeyboard import PyKeyboard

# 实例化键盘对象
keyboard = PyKeyboard()
# 发送 Hello World! 字符串
keyboard.type_string('Hello World!')
	
# 发送 Alt + Tab 组合键
keyboard.press_key(keyboard.alt_key)
keyboard.tap_key(keyboard.tab_key)
keyboard.release_key(keyboard.alt_key)

标签:鼠标,button,character,PyUserInput,键盘,key,keyboard,100
From: https://www.cnblogs.com/tynam/p/17722992.html

相关文章

  • html 屏蔽键盘事件,鼠标右键
    window.onload=function(){//屏蔽键盘事件document.onkeydown=function(){vare=window.event||arguments[0];//F12if(e.keyCode==123){returnfalse;//Ctrl+Shift+I}elseif((e.ctrlKey......
  • vue el-table-column 内容省略号,根据数字展示内容,鼠标移上展示详情
    鼠标移上展示详情:title="scope.row.fmContent"<el-table-columnprop="fmContent"label="工单内容"<templateslot-scope="scope"><span:title="scope.row.fmContent">scope.row.fmContent.slice(@,22)I&......
  • el-table鼠标移入单元格进行数据填写更新
    <el-tablev-loading="loading":data="npitestrecordList" border@cell-mouse-enter="handleCellEnter"@cell-mouse-leave="handleCellLeave"> <el-table-columnlabel="温度(°C)"align="left"p......
  • 13_实战 USB鼠标
    实战:USB鼠标新建项目Embeded_USB打开时钟晶振打开Debug打开USBPA12PA11自动打开打开USB协议栈修改时钟晶振项目配置Feil5代码编写JLink配置项目运行1项目编译,下载后,用usb连接到芯片安卓接口2到桌面查看运行情况......
  • win10 按键盘偶尔会出现一个光圈when pressing ctrl, randomly a white circle thing
    whenpressingctrl,randomlyawhitecirclethingappearsaroundmymousecurser.SolutionTwo:Thisonlyappliesifyouhave"Powertoys"installed. OpenPowertoysNavigateto'Mouseutilities'onthesidepanel.Turnoff'......
  • RPCS3模拟器 玩COD3等独占带体感手柄的纯键盘操作方法
    好不容易找到可玩的cod3,结果用的rpcs3模拟器,这款纯键盘模拟体感操作非常之山炮,不如海豚模拟器有单独的模拟体感键位设置,卡了好几次过不去,最后发现一个一劳永逸的方法:进入游戏后,选设置-游戏操作-控制器配置-关闭倾斜,即可关闭所有需要旋转、倾斜手柄的山炮操作,全部改为指定按键了,不......
  • Vue进阶(幺柒肆):鼠标、键盘事件
    (文章目录)一、前言在项目开发过程中,需要根据鼠标事件进行相应处理。现予以梳理。鼠标事件如下所示:点击事件:@click//单击@dblclick//双击@mousedown//按下@mouseup//抬起@contextmenu//鼠标右键悬浮事件及触发顺序:@mouseover//划过@mouseenter//进入@mouse......
  • 坏掉的键盘
    坏掉的键盘1.题目地址https://www.acwing.com/video/1234/2.题目解析这题有两种解决方案:1.打表2.双指针3.题解上图代表双指针的解法:i代表主串指针,j代表子串指针。在遍历主串的过程中:如果二者相等,都往下走一次。如果二者不等,代表......
  • 录入键盘输入的数据
    packageshashasha;importjava.util.Scanner;publicclasssi{publicstaticvoidmain(String[]args){//抄写代码:得到一个键盘扫描器对象(东西)Scannersc=newScanner(System.in);//开始:调用sc功能,来接受用户键盘输入的数据System.out.p......
  • 解决uni-app 输入框,键盘弹起时页面整体上移问题
    解决uni-app输入框,键盘弹起时页面整体上移问题我们每次在做UNIAPP小程序和H5遇到输入框时,总会在测试的时候点击输入框弹出软键盘把页面往上移动,仔细翻读uniapp文档的时候发现了一个属性adjust-position:Boolean类型,作用是键盘弹起时,是否自动上推页面1.发现将adjust-position属......