Python实现鼠标自动在屏幕上随机移动功能

 更新时间:2020年03月14日 14:43:19   作者:StephenLiuLiu  
这篇文章主要介绍了Python实现鼠标自动在屏幕上随机移动功能,具有很好的参考价值,希望对大家有所帮助。还等什么?一起跟随小编过来看看吧

本来想控制鼠标自动移动防止公司电脑自动休眠的策略,然而,实现了并没什么卵用,还是会休眠。但还是分享出来吧。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编写简单爬虫资料汇总

    本文给大家汇总介绍了下几种使用Python编写简单爬虫的方法和代码,非常的不错,这里分享给大家,希望大家能够喜欢。
    2016-03-03
  • 一个检测OpenSSL心脏出血漏洞的Python脚本分享

    一个检测OpenSSL心脏出血漏洞的Python脚本分享

    这篇文章主要介绍了一个检测OpenSSL心脏出血漏洞的Python脚本,心脏出血漏洞是互联网上的地震,看到的同学赶紧升级OpenSSL,避免黑客入侵
    2014-04-04
  • Python实现的远程文件自动打包并下载功能示例

    Python实现的远程文件自动打包并下载功能示例

    这篇文章主要介绍了Python实现的远程文件自动打包并下载功能,结合实例形式分析了Python使用spawn()方法执行ssh、scp 命令实现远程文件的相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • 浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置

    浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置

    这篇文章主要介绍了浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python调用Prometheus监控数据并计算

    Python调用Prometheus监控数据并计算

    Prometheus是一套开源监控系统和告警为一体,由go语言(golang)开发,是监控+报警+时间序列数据库的组合。本文将介绍Python如何调用Prometheus实现数据的监控与计算,需要的可以参考一下
    2021-12-12
  • Django重置migrations文件的方法步骤

    Django重置migrations文件的方法步骤

    这篇文章主要介绍了Django重置migrations文件的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 利用Python还原方阵游戏详解

    利用Python还原方阵游戏详解

    这篇文章的灵感来源于我玩游戏的时候,看见一个大佬在游戏里面建造了“还原方阵游戏”,就感觉很牛掰,就想着python不是有矩阵吗,可以还原一下呢,感兴趣的小伙伴可以了解一下
    2023-01-01
  • 如何将你的应用迁移到Python3的三个步骤

    如何将你的应用迁移到Python3的三个步骤

    这篇文章主要介绍了如何将你的应用迁移到Python3的三个步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Python测试人员需要掌握的知识

    Python测试人员需要掌握的知识

    很多朋友都想做了个python的测试人员,那么python测试员需要知道的基本知识有哪些呢?跟着小编一起学习下。
    2018-02-02
  • PyQT实现菜单中的复制,全选和清空的功能的方法

    PyQT实现菜单中的复制,全选和清空的功能的方法

    今天小编就为大家分享一篇PyQT实现菜单中的复制,全选和清空的功能的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论