本来想控制鼠标自动移动防止公司电脑自动休眠的策略,然而,实现了并没什么卵用,还是会休眠。但还是分享出来吧。win10的系统。

首先要安装几个第三方的包:pymouse、pyhook、pywin32、pyuserinput。别看代码里值引用pymouse和win32api,如果不把这些都装了,运行时就会报错。

下面来看下代码吧。

from pymouse import PyMouse

from win32api import GetSystemMetrics

import random

import time

m = PyMouse()

m.position()

width = GetSystemMetrics(0)

heigth = GetSystemMetrics(1)

m.move(100, 100)

while True:

x = random.randint(0, width)

y = random.randint(0, heigth)

m.move(x, y)

time.sleep(random.randint(3, 5))

补充知识:python控制 鼠标移动 pyautogui || PyMouse 自动化

方法1 pyautogui

安装 ·pip install pyautogui

文档

基本操作指令

gui.PAUSE=0.5 #每次函数调用后暂停0.5秒gui.FAILSAFE=True #启动自动防故障功能

注意,这里将pyautogui库重命名为gui,是为了使用方便。这个库可以处理电脑屏幕、鼠标、键盘等电脑硬件资源。下面,我们就先从处理电脑屏幕开始介绍:

获得屏幕大小用W,H=gui.size(),W、H就分别表示屏幕的宽、高;要截屏可以用im=gui.screenshot(),im就是截取的屏幕快照图片;如果要获得屏幕上(x,y)坐标的颜色值,可以用RGB=GetScreenShow().getpixel((x,y));要判断坐标处颜色是否给定值,可以用以下代码:

def is_screen_locate_color(x,y,r,b,g):im=GetScreenShow()return gui.pixelMatchesColor(x,y,(r,b,g))

如果屏幕上有个图片,我们怎样才能获得图片在屏幕上的位置和大小呢?有以下代码

def get_png_all_location(PNGfile):#return list(gui.locateAllOnScreen(PNGfile))

返回的是这样一个列表:[(x1,y1,w1,h1),(x2,y2,w2,h2),(x3,y3,w3,h3).],屏幕上只有一个这样的图片的话,这个列表就只有一项[(x1,y1,w1,h1)],表示这个图片的位置(x1,y1)和大小(w1,h1).

其次,我们再看看鼠标是怎样被控的。我们可以用gui.position()返回鼠标位置(x,y);实现模拟点击用:

def click_position(x,y,buttonkey='left'):#模拟点击(默认左键)gui.click(x,y,button=buttonkey)

模拟鼠标左键双击用:

def double_click(x,y):gui.doubleClick(x,y)

模拟按下左键鼠标拖动(相对原位置)用:

def drag_rel(dx,dy):gui.dragRel(dx,dy,duration=0.2)

模拟按下左键鼠标拖动(绝对位置)用:

def drag_to(x,y):gui.dragTo(x,y,duration=0.2)

模拟移动鼠标到X,Y坐标用:

def move_to(x,y):gui.moveTo(x,y)

模拟窗口滚动用:

def scroll_window(n):gui.scroll(n)#n为正表示向上滚动,为负表示向下滚动

第三是模拟键盘操作,下面是键盘上部分常用键的定义:

'a', 'A', '1','!', '@', '#',等等 单个字符的键'enter'(or 'return' or '\n') 回车键'esc' Esc 键'shiftleft', 'shiftright' 左右 Shift 键'altleft', 'altright' 左右 Alt 键'ctrlleft', 'ctrlright' 左右Ctrl 键'tab'(or '\t') Tab 键'backspace', 'delete' Backspace 和 Delete 键'pageup', 'pagedown' Page Up 和 Page Down 键'home', 'end' Home 和 End 键'up', 'down', 'left', 'right' 上下左右箭头键'f1', 'f2', 'f3',等等 F1 至 F12 键

发送字符串gui.typewrite(textstr)、

按下键gui.keyDown(keyname)、

释放键gui.keyUp(keyname)、

按键gui.press(char)、#

热键组合如:ctrl+c用gui.hotkey(keyname,char)。

多个热键组合可按顺序输入多个参数,如:Ctrl-alt-shift-s

可输入gui.hotkey('ctrl','alt','shift','s')。

鼠标移动

import pyautogui

pyautogui.moveRel(50,50,durtion=1) //根据当前位置, 相对移动鼠标指针 durtion移动时间

pyautogui.position() //获取当前鼠标位置

以上这篇Python实现鼠标自动在屏幕上随机移动功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

python做鼠标自动移动_Python实现鼠标自动在屏幕上随机移动功能相关推荐

  1. python基础编程:Python实现鼠标自动在屏幕上随机移动功能

    这篇文章主要介绍了Python实现鼠标自动在屏幕上随机移动功能,具有很好的参考价值,希望对大家有所帮助.还等什么?一起跟随小编过来看看吧 本来想控制鼠标自动移动防止公司电脑自动休眠的策略,然而,实现了 ...

  2. python方向键控制角色_Python控制鼠标和键盘-PyAutoGUI用法详解

    PyAutoGUI--让所有GUI都自动化 安装代码:pip install pyautogui 1.简介 1.1 目的 PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自 ...

  3. python 微信聊天机器人_python操作微信自动发消息的实现(微信聊天机器人)

    前言 最近在学习python,发现一个微信自动发消息的小demo感觉很有意思,试了一下,不成功,因为demo中用的是itchat这个库来操作微信,而这个库是通过微信网页版来操作微信的,现在微信网页版已 ...

  4. python做性能测试框架_python api 测试框架

    python常用框架 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响.Django是走大而全的方向,它最出名的是 ...

  5. python做abaqus后处理_python进行abaqus后处理的二次开发,我想提取odb文件中的nodeSet,结果总提示Keyerror,请各位大神指教。...

    运行: Cmd中运行:abaqus scrip=plot.py 之所以用python因为abaqus的界面是基于python的,用它来进行批处理或者后处理是比较不错的,希望能和大家分享abaqus的更 ...

  6. 用python做自我介绍_python入门教程NO.2 用python做个自我介绍

    本文涉及的python基础语法为:数据类型等 数据类型 1. 字符串的拼接 我们在上一章中已经简单介绍了一下字符串的创建方式,这里我们简单学习一下字符串的运算和拼接. 字符串的运算 `字符串的加法` ...

  7. 用python做股票因子分析_Python与量化多因子——机器学习方法在因子合成上的应用...

    1. 前言最近要工作了,工作好难找啊.看到好多要求要有机器学习这方面的经验的,虽然我对传统因子模型这块做了很多工作,但是机器学习却没怎么接触. 从我自身的理解来看,在股票的多因子模型上,机器学习或者深 ...

  8. python做时序图_python如何做时间序列

    python做时间序列的方法:首先导入需要的工具包,输入"data.plot()","plt().show()"命令绘制时序图:然后由acf,pacf判断模型参 ...

  9. python表情识别程序_Python+Dlib+Opencv实现人脸采集并表情判别功能的代码

    一.dlib以及opencv-python库安装 介于我使用的是jupyter notebook,所以在安装dlib和opencv-python时是在 这个命令行安装的 dlib安装方法: 1.若可以 ...

  10. python获取网页元素坐标_html网页元素在屏幕上的坐标获取

    今天在用python调用IE获取html网页元素在屏幕上的坐标,当然为了截图啦,(*^__^*) 嘻嘻-- xtop=ie.document.forms[i].elements[j].getBound ...

最新文章

  1. android WIFI信息获取
  2. PhpStorm调用浏览器运行php文件
  3. easyUI之Messager(消息窗口)
  4. python学习笔记26(python中__name__的使用)
  5. MySQL保存计算结果_在数据库中保存计算结果如何对应到相应的工程文件
  6. GTJ2018如何导出全部工程量_新清单计量规范征求意见稿第二期来啦!来看看那些让你烦恼的操作如何解决...
  7. 教育部计算机考研大纲,2021考研计算机大纲计算机组成原理部分考查内容
  8. java nio oio_(三:NIO系列) Java NIO Channel
  9. 技术分解:光纤传感在交通监控中的应用
  10. 多功能工具箱微信小程序源码下载-操作简单
  11. 流媒体管理服务器显示不可用,部署国标流媒体服务器成功后无法播放视频问题步骤排查...
  12. (六)SSO之CAS框架扩展 改动CAS源代码实现与ESS动态password验证对接
  13. 生物信息学分析常用网站
  14. 牛顿迭代法实现开根号
  15. K.function的用法
  16. 计算机的绝密历史——窃取的创意、专利战争和丑闻如何改变了世界……
  17. Hadoop 入门学习思维导图
  18. 自阿里P8爆出1031道java面试题后,我在boss直聘狂拿千份Offer
  19. 机器学习基础——贝叶斯
  20. js实现粒子特效,particles.js的使用

热门文章

  1. idea导入java文件_怎么在idea中导入Java文件并运行文件
  2. android微信回调数据,Android 支付回调-1
  3. 2019,边缘计算人在看什么书?
  4. UPS不间断电源原理与选用配备技巧
  5. 《SAP从入门到精通》——导读
  6. 【图形学实验】Loop Subdivision与Modified Butterfly Subdivision
  7. 创新者的窘境 PDF ——带完整书签
  8. 三星s8android8.0,三星S8国行升级安卓8.0 系统流畅度提升
  9. 构建基于浏览器的Web P2P网络直播
  10. Node之HTTPS客户端