当前位置:首页 » 编程语言 » python控制鼠标和键盘

python控制鼠标和键盘

发布时间: 2023-05-29 07:50:55

‘壹’ pythonautopygui脚本运行时可以同时使用键盘吗

1.1 安装pyautogui 模块1.2 解决程序出现的错误,及时制止1.2.1 通过任务管理器来关闭程序

1.2.2 暂停和自动防故障设置1.3 控制鼠标移动1.3.1 移动鼠标1.3.2 获取鼠标位置

1.4 控制鼠标交互1.4.1 点击鼠标1.4.2 拖动鼠标1.4.3 滚动鼠标

1.5 处理屏幕1.5.1 捕获屏幕快照1.5.2 分析屏幕快照

1.1 安装pyautogui 模块

在cmd命令行界面输入 pip install pyautogui 国内会有延迟,可能出现超时读取数据失败,多安装几遍就好了,建议安装时候保持界面在安装界面,保持你的宽带最大程度的给与这个安装进程 安装完毕后在python界面引入模块

1.2 解决程序出现的错误,及时制止

在开始 GUI 自动化之前,你需要知道如何解决可能发生的问题。Python 能以很快的速度移动鼠标并击键。实际上,它可能太快,从而导致其他程序跟不上。而且, 如果出了问题,但你的程序继续到处移动鼠标,可能很难搞清楚程序到底在做什么,或者如何从问题中恢复。你可能没有办法及时关闭IDLE运行窗口或者是DOS界面的python运行窗口,幸而python有几种办法来防止或者恢复这种错误。

1.2.1 通过任务管理器来关闭程序

windows中可以使用 Ctrl+Alt+Delete键来启动,并且在进程中进行关闭,或者直接注销计算机来阻止程序者颤的乱作为

1.2.2 暂停和自动防故障设置

(1)可以告诉脚本在每次调用函数以后有暂停的时间来允许我们关闭窗口,可以通过设置pyautogui.PAUSE来规定暂停的秒数。这个只针对pyautogui指令有效。其它指令不会受影响 (2)pyautogui也有自动防故障功能。将鼠标移到屏幕的左上角,这将导致 pyautogui 产生 pyautogui .FailSafeException 异常。你可以使用try和except语句来处理这种异常,也可以让程序自动发生崩溃而停止。 将pyautogui.FAILSAFE置为True将启动自动防故障

1.3 控制鼠标移动

pyautogui的鼠标函数使用x,y坐标。原点的横纵纵坐标都为0,原点在屏幕的左上角,x的坐标为从左向右递增,y的坐标为从上向下递增,所有的坐标都是正整数,没有负数坐标,如果你的屏幕分辨率为1920×1080,那么右下角的坐标为(1919,1079) pyautogui.size() 函数返回两个整数的元组,包含屏幕的宽和高的像素数。

1.3.1 移动鼠标

pyautogui.moveTo() 函数将鼠标立即移动到屏幕的指定位置。表示 x、y 坐标的整数值分别构成了函数的第一个 和第二个参数。可选的 ration 整数或浮点数表示的关键字参数,指定了将鼠标移到目的位置所需的秒数。如果不指定,默认值是零,意为立即移动。 如上所示,上面的代码运行时,鼠标从运行前的工作位置移动到第一个首槐败点,然后移向下一个点,如此循环十次 当然,鼠标也可以以当前工作位置为起点,来移动鼠标。利用moveRle函数,第一个参数设置为明祥负数意为向左移动,第二个参数设置为负数意为向上移动,第一个参数为0意为横坐标不变,第二个参数为0意为着纵坐标不变。

1.3.2 获取鼠标位置

position()函数可以返回当前鼠标的位置,即由x,y组成的元组

1.4 控制鼠标交互

随着我们知道了鼠标在屏幕上的位置,我们就可以学着来点击,拖动和滚动鼠标。

1.4.1 点击鼠标

(1)如果向计算机发送虚拟的鼠标点击,就要调用pyautogui.click()函数,默认为在当前的位置点击鼠标左键,如果需要在其他地方点击,需要传入分别代表x和y的第一个和第二个参数 (2)如果想指定鼠标按键,可以传入button参数,参数值可以设定为left,middle或者right 分别代表左键,中键,右键 (3)pyautogui.mouseDown()意为按下鼠标按键,pyautogui.mouseUp()意为松开鼠标按键 (4)pyautogui.doubleClick() 函 数 只 执 行 双 击 鼠 标 左 键 。 pyautogui.rightClick() 和pyautogui.middleClick() 函数将分别执行双击右键和双击中键。

1.4.2 拖动鼠标

拖动即移动鼠标,按着一个按键不放来移动屏幕上的位置,例如:可以在文件夹中拖动文件来移动位置,或者将文件等拉入发送框内相当于复制粘贴的操作 pyautogui提供了一个pyautogui.dragTo()和pyautogui.dragRel()函数,相当于从指定位置拖动和从当前位置的区别。传入两个相当于x和y的参数。 下面我们将打开windows自带的paint程序,来演示鼠标拖动

#! python3

#DisplayDrag.py-To paint the picture in the software of paint.

import pyautogui,time

time.sleep(5)

pyautogui.click() #Start a point to draw a picture

temp=200

while temp>0:

pyautogui.dragRel(temp,0,ration=0.2) #move right

temp=temp-10

pyautogui.dragRel(0,-temp,ration=0.2) #move up

pyautogui.dragRel(-temp,0,ration=0.2) #move left

temp=temp-10

pyautogui.dragRel(0,temp,ration=0.2) #move down

上面的代码所示为设置一个temp循环变量,并让程序先休眠五秒,方便你找到画图开始的位置并定位。

1.4.3 滚动鼠标

最后一个 pyautogui 鼠标函数是 scroll()。你可以向它提供一个整型参数,说明向上或向下滚动多少单位。单位的意义在每个操作系统和应用上不一样,所以你必须试验,看看在你的情况下滚动多远。滚动发生在鼠标的当前位置。传递正整数表示向 上滚动,传递负整数表示向下滚动。

可以将上图的结果粘到粘贴板,然后利用休眠函数,定位到粘贴板,然后向上翻滚100个单位,我的计算机翻滚10000个单位,看到的效果比较明显

1.5 处理屏幕

你的 GUI 自动化程序没有必要盲目地点击和输入。pyautogui 拥有屏幕快照的 功能,可以根据当前屏幕的内容创建图形文件。这些函数也可以返回一个 Pillow 的 Image 对象,包含当前屏幕的内容。

1.5.1 捕获屏幕快照

利用pyautogui.screenshot()来捕捉屏幕快照,将该捕捉快照赋予一个变量,通过向捕捉对象的getpixel()函数传入x,y的参数来返回一个元组,包含三个整数,意为着RGB的颜色值

1.5.2 分析屏幕快照

假设你的 GUI 自动化程序中,有一步是点击蓝色选项。在调用 click() 方法之前, 你可以获取屏幕快照,查看脚本要点击处的像素。可以利用语句来判断跟原来的颜色是否相同,如果它的颜色和灰色按钮不一样, 那么程序就知道出问题了。意外也许是窗口发生了意外的移动,也许是弹出式对话框挡住了该按钮。这时不应该继续(可能会点击到错误的东西,造成严重破坏),程序可以 “看到”它没有点击在正确的东西上,并自行停止

‘贰’ python中的pygtk鼠标事件和键盘事件

你可以查看PyGTK 2.0 Reference Manual, gtk.gdk.Event 不同的信号对应不同的event

帖吧已经帮你做了判断按键的回答, 还有就是比如双击 、三击,下面可以做为工具集函数使用

def is_single_click(event):
'''Whether an event is single click.'''
return event.button == 1 and event.type == gtk.gdk.BUTTON_PRESS

def is_double_click(event):
'''Whether an event is double click?'''
return event.button == 1 and event.type == gtk.gdk._2BUTTON_PRESS

def is_left_button(event):
'''Whether event is left button.'''
return event.button == 1

def is_right_button(event):
'''Whehter event is right button.'''
return event.button == 3

def is_middle_button(event):
'''Whehter event is middle button.'''
return event.button == 2

以上不能判断出滑轮是向上滑动还是向下滑动的

‘叁’ Python自动控制鼠标

一、安装pyautogui

pip install pyautogui

二、调用

import time

import random

import pyautogui

三、自动控制鼠标

while 1:

    # 15秒钟移动一次鼠标(移动鼠标时间可以根据自己需要设定)

    time.sleep(15)

    pyautogui.moveTo(x=5100,y=random.randint(1500,1600))

################################移动鼠标

####pyautogui.moveTo()函数将鼠标立即移动到屏幕的指定位置:x,y为坐标,ration指定所需秒数

import pyautogui

for i in range(10):

        pyautogui.moveTo(5100,1600,ration=5.25)

        pyautogui.moveTo(200,100,ration=5.25)

        pyautogui.moveTo(200,200,ration=5.25)

        pyautogui.moveTo(100,200,ration=5.25)

####pyautogui.moveRel()函数相对于当前的位置移动鼠标

import pyautogui

for i in range(10):

        pyautogui.moveRel(100,0,ration=0.25)

        pyautogui.moveRel(0,100,ration=0.25)

        pyautogui.moveRel(-100,0,ration=0.25)

        pyautogui.moveRel(0,-100,ration=0.25)

####pyautogui.position()函数确定鼠标当前的位置

pyautogui.position()

‘肆’ pythonpyautogui是爬虫吗

是。PyAutoGui是一个跨平台GUI自动化库。PyAutoGUI是一个Python模块,用于以编程方式控制鼠标和键盘。Python网络爬虫,pyautogui与pytesseract抓取新浪微博数据,OCR方案用ocr与pyautogui,以及webbrowser实现功能:设计爬虫抓取新浪微博数据,比如,抓取微博用户的粉丝数。

‘伍’ python项目实战:pygame控制键盘方向键随意移动

前言

本文为大家介绍一个利用python控制控制键盘方向键随意移动,用到python的第三方库晌段pygame,下面就来看看吧

导入图片

导入第三方库

界面团历设置

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者有兴趣学习python的伙伴可以私信塌谨搜回复我“学习” 获取资料,一起学习

方向键

显示界面

运行结果

以上pygame控制键盘方向键随意移动,希望能够帮助到大家

‘陆’ Windows下,用python实现禁用硬件,例如禁用键盘/鼠标等

defBlockInput(bEnable):
"""bEnable:
True:Disablemouse&keyboard
False:Enablemouse信段&桥喊keyboard
"""
importpyHook
defuDisable(event):returnFalse
defuEnable(event):returnTrue
hm=pyHook.HookManager()
ifbEnable==True:
hm.MouseAll=hm.KeyAll=uDisable
else:
hm.MouseAll=hm.KeyAll=uEnable
hm.HookMouse()
hm.HookKeyboard()

这里用Python的 pyHook 模块,写了个类似AutoIt中的BlockInput函数。

pyHook是个扩展模块敏坦野,需要另外下载的,具体用法可以参考 pyHook 模块中的 example.py 。

‘柒’ 怎么用python控制电脑暂不接受外部(如鼠标和键盘)指令

这个可以闷烂用hook来设两个钩子,一个是键盘钩子,一个是鼠标钩子,把键盘和鼠标的messagej截获但不处理~再用timer控制时间,暂停12秒后再卸载钩子就可以了~
这个可以用c++调用windows的API,setwindowshookex(). 至于python可以下载pywin32的package来调用api,用ctype来进中尺行c的实现~
思路是这样的,具体可以卖罩高参照MSDN来弄~

‘捌’ python鼠标键盘相互冲突

1:两个usb口有冲突(有些老主板虽然提供了两个usb接口,但实际上只能驱动其中一个),更换两个插口试试。
2: 在进入 [设备管理器] 后,在里面找到 [通用串行总线控制器] 点[ + ]号将其打开。 看到里面的 USB Root Hub,电脑后面有几个USB接口,相对应的就会显示几个 USB Root Hub,鼠标右键查看[属性]。 在 [电源管理] 里面将 [允许计算机关闭这个设备以节省电源] 前面的对号取消。
3:驱动问题,建议重装键盘驱动试试
键盘和鼠标都是电脑中最重要的输入设备,如果键盘鼠标没有用就无法进行操作了,但是偏偏有用户遇到了棘手的问题,鼠标和键盘同时失灵什么也作不了,就连关机也只能按电源键,那么遇到鼠标和键盘同时失灵的问题要如何解决呢?
解决步骤:
1、键盘鼠标同时失灵,这时你应该按下电源键看能否关机,如果可以关机,那么表示电脑没有死机,如果电脑死机也会出现键盘鼠标都不会动的情况。
2、关闭电脑后重新开机,看键盘鼠标是否可用。
可用:那么建议更新下USB驱动程序,可以使用驱动大师等驱动软件,升级USB,如果没有升级选项,可以先卸载然后再安装

‘玖’ python怎么模拟键盘操作

实现了一个最简单的输入密码,enter进入的简单键盘操作登录过程,具体代码如下:

· 鼠标点击

有m.click(x, y, button, n) -- 点击,想x,y坐标,button:-1表示左键,-2表示右键,n:默认1次,2双击

m.move(x, y) -- 鼠标移动

m.screen_size() -- 获取屏幕尺寸

· 键盘操作

k.type_string('abcdefg') --输入内容

k.press_key('a') --按a键

k.release_key('a') --松开a键

k.tap_key('a') --点击a键

k.tap_key('a', n=2, interval=5) --点击a键2次,每次间隔5秒

k.tap_key(k.function_keys[5]) --功能键F5

k.press_keys([k.alt_key, 'a']) --组合按键

‘拾’ python常用库有哪些

python常用的库有sys os 获取系统相关信息
re 正则表达式模块
numpy pandas sklearn 模块用于科学计算

热点内容
出轨数据库 发布:2025-05-09 22:48:47 浏览:148
java过滤器的作用 发布:2025-05-09 22:44:06 浏览:857
定投策略算法 发布:2025-05-09 22:21:36 浏览:601
梯形纠正算法 发布:2025-05-09 22:16:46 浏览:717
解压心跳声 发布:2025-05-09 22:16:10 浏览:718
如何取消安卓手机程序隐私密码 发布:2025-05-09 21:48:03 浏览:48
c语言字符串数组连接 发布:2025-05-09 21:46:37 浏览:133
源码的移码 发布:2025-05-09 21:25:01 浏览:754
ie内核缓存 发布:2025-05-09 21:19:35 浏览:545
第五人格服务器错误是怎么解决 发布:2025-05-09 21:14:24 浏览:513