Python直接控制鼠标键盘

Python直接控制鼠标键盘

之前因为期末的原因已经很久没写博客了,今天博主发现一个好玩的模块PyAutoGUI,借助它可以使用Python脚本直接控制键盘鼠标,感觉可以解决很多无聊的机械运动。这里记录一下学习情况

安装

$ sudo pip install pyautogui

安装的依赖包可能比较多,只要耐心等待即可

基本使用

screenWidth, screenHeight = pyautogui.size() # 屏幕尺寸
mouseX, mouseY = pyautogui.position() # 返回当前鼠标位置,注意坐标系统中左上方是(0, 0)

为了保持用户可以随时干预鼠标键盘的动作,比较好的方法是添加停顿,或者强制结束,否则想停了鼠标还一直在晃就会失控,下面是两种对应的设置

pyautogui.PAUSE = 1.5 # 每个函数执行后停顿1.5秒
pyautogui.FAILSAFE = True # 鼠标移到左上角会触发FailSafeException,因此快速移动鼠标到左上角也可以停止

鼠标操作

移动

w, h = pyautogui.size()
pyautogui.moveTo(w/2, h/2) # 基本移动
pyautogui.moveTo(100, 200, duration=2) # 移动过程持续2s完成
pyautogui.moveTo(None, 500) # X方向不变,Y方向移动到500

pyautogui.moveRel(-40, 500) # 相对位置移动

拖动

# 点击+向下拖动
pyautogui.click(941, 34, button=‘left‘)
pyautogui.dragRel(0, 100, button=‘left‘, duration=5)

点击

pyautogui.click(300, 400, button=‘right‘) # 包含了move的点击,右键
pyautogui.click(clicks=2, interval=0.25) # 双击,间隔0.25s

滚轮

pyautogui.scroll(-10)

键盘操作

输入文字

点击对话框输入文字即可,不过中文好像不行

pyautogui.click(1279, 374)
pyautogui.typewrite(‘hello world!‘)

精确控制键盘

一下是手动输入中文的方法

pyautogui.press(‘shift‘) # 切换输入法的中英文
pyautogui.press([‘#‘, ‘ ‘]) # press 可以对单个字符或者列表进行操作
pyautogui.press([‘x‘, ‘i‘, ‘a‘, ‘o‘])
pyautogui.press([‘y‘, ‘u‘])
pyautogui.press([‘w‘, ‘e‘, ‘i‘])
pyautogui.press([‘l‘, ‘a‘, ‘n‘])
pyautogui.press(‘ ‘)

# 潇雨危栏

hotKey

pyautogui.hotkey(‘shift‘, ‘a‘) # 可以使用组合键,本质上是
‘‘‘
pyautogui.keyDown(‘shift‘)
pyautogui.keyDown(‘a‘)
pyautogui.keyUp(‘shift‘)
pyautogui.keyUp(‘a‘)
‘‘‘

小结

PyAutoGUI模拟了鼠标键盘的输入,感觉机器好像被脚本操控了,具体的应用还没想好,感觉好像能解决一些爬虫的问题。这个库的灵活之处在于应用无关性,缺点也在于这一点。

原文地址:https://www.cnblogs.com/fanghao/p/8453207.html

时间: 2024-10-01 03:27:53

Python直接控制鼠标键盘的相关文章

控制鼠标键盘 python pywin32 键位查询 win32api

python控制键盘鼠标操作 1.下载pywin32 点我下载最新版 2.pywin32资料 资料大多为英文,我只了解一部分,感兴趣请深查 PyWin32 Documentation 点我传送 PyWin32 Documentation ActiveState Docs 点我传送 Win32 How Do I-? by Tim Golden 点我传送 3.举个简单的栗子 #coding:utf-8 ''' FuncName: pywin32.py Desc: search key Date: 2

Python监听鼠标键盘事件

# -*- coding: utf-8 -*- __author__ = 'P00113' # coding: utf-8 import pythoncom import pyHook import win32api import win32con import time import threading import random VK_CODE = { 'backspace': 0x08, 'tab': 0x09, 'clear': 0x0C, 'enter': 0x0D, 'shift':

Python最为神奇的库,可控制你的鼠标键盘自动运行!

这个库让你可以控制和监控输入设备. 对于每一种输入设备,它包含一个子包来控制和监控该种输入设备: pynput.mouse:包含控制和监控鼠标或者触摸板的类. pynput.keyboard:包含控制和监控键盘的类. 上面提到的子包都已被引入到pynput库中.要使用上面的子包,从pynput中引入即可. 下面有详细的示例文档. 控制鼠标 使用pynput.mouse控制鼠标:监控鼠标事件 使用pynput.mouse.Listener监控鼠标事件:鼠标事件监听器是一个线程,所有的回调函数都会在

python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

1.参考 autopy (实践见最后一章节) 用Python制作游戏外挂(上) AutoPy Introduction and Tutorial autopy.mouse.smooth_move(1, 1) 可以实现平滑移动 autopy - API Reference pip install PyUserInput SavinaRoja/PyUserInput [python3.5][PyUserInput]模拟鼠标和键盘模拟 Python-模拟鼠标键盘动作 autoit selenium借助

【Unity3D】使用鼠标键盘控制Camera视角(即时战略类游戏视角):缩进,拉远,旋转

今天写一个demo,要用到鼠标键盘控制三维视角,因此写了个脚本用于控制. 该脚本可以用于即时战略类游戏的视角,提供了缩进,拉伸,旋转.同时按住鼠标右键不放,移动鼠标可以实现第一人称视角的效果. 1 using UnityEngine; 2 using System.Collections; 3 4 public class CameraController : MonoBehaviour { 5 6 7 public float near = 20.0f; 8 public float far

python selenium2 - 鼠标键盘操作

方法说明 action_chains.py模块---[鼠标键盘动作] 1 __init__ #创建一个actionChains,需要传入一个实例化了的webdriver对象 2 3 click #单击元素指定元素 4 click_and_hold #在指定元素按下鼠标和release配套使用 5 context_click #右击 6 double_click #双击 7 drag_and_drop #拖曳动作 8 drag_and_drop_by_offset #从当前元素按下鼠标左键往指定的

Selenese 命令清单 - 鼠标键盘事件控制命令

点击链接加入群[悦分享测试联盟]:https://jq.qq.com/?_wv=1027&k=5DiePik 简介 Selenium为用户提供了大量的Selenese命令,可以非常方便的为用户编写脚本实用,其中实际场景运用需要的并不多,为了能更好的利用这些命令,我对几乎所有Selenese命令做了分类,分类内容如下: 包含操作页面元素常用命令,以及一些不常用到的高级使用命令 对鼠标键盘事件控制命令 wait相关命令 veriy相关命令 assert相关命令 store存储器相关命令 Part I

Unity3D(五)在U3D中添加鼠标控制、键盘操作

C#控制WASD键盘控制前后左右+空格键抬升高度.鼠标右键跟随旋转.滑轮控制放大缩小: using UnityEngine; using System.Collections; public class CameraControl : MonoBehaviour { // Use this for initialization private GameObject gameObject; /** * 鼠标 */ public bool mouseControlEvent = false;//判断

Python - selenium_WebDriver 鼠标键盘事件

from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from ReadTxt_demo import readTxt import time #鼠标键盘事件 ''' ActionChains 常用方法 per