【low文】Python自动化控制鼠标键盘

徐浩洋   ·   发表于 2022-01-08 02:04:04   ·   技术文章

自动控制鼠标和键盘就需要一个模块——pyautogui。

import pyautogui

然后你就会发现根本没用。

那么说明你的电脑里没有这个模块,所以:

pip install pillow
pip install pyautogui
python #cmd唤醒python
pip show pyautogui #检查一下


这样就表示你的电脑里面有了。接下来要安装在你跑程序的pycharm上面。

>file>setting>project>interpreter

点击右侧“+”号,搜索pygame,点击install package

然后运行一下

该死的报错就不见了

首先获取基础信息:

import pyautogui 

size = pyautogui.size()
print(size)                       # 屏幕大小


mouse_pos = pyautogui.position()
print(mouse_pos)                 # 鼠标位置

print(pyautogui.onScreen(100,100)) 
# 有个知识点(0,0)在左上角,判断(100,100)是否在屏幕里面

接下来就是移动鼠标:

import pyautogui 

pyautogui.moveTo(0, 0, duration=0.25) # 坐标(0.0)移动0.25秒
# pyautogui.moveRel(0, 0, duration=0.25) # 相对移动坐标(0.0)0.25秒

当然就是能友好运行上面的那个的前提就是获取鼠标位置:

import pyautogui

print(pyautogui.position())

然后你就获得了一个鼠标的位置,如果你想实时获得鼠标位置那么就加一个循环语句。

import pyautogui
last_pos = pyautogui.position()#上一次的位置
try:
    while True:
        new_pos =pyautogui.position() # 新位置
        if last_pos != new_pos:
            print(new_pos)
            last_pos = new pos
except KeyboardInterrupt: #当按下中断键通常为Control-C或Delete
    print('\nExit.')

移动之后的操作就是点击:

import pyautogui
import time 

#系统准备时间 
time.sleep(2) 

#取得点击位置 
woxiangdaindian_pos =pyautogui.locateOnScreen('1.png')  
#这个图片就是你想点击的按钮图片复制粘贴就好
#这个识图功能必须要安装pillow
#如果还是不行可以试试win自带的截图(人还是有问题)
#还是不行的话直接上坐标(笑死,上图不可能不行的)

goto_pos = pyautogui.center(woxiangdaindian) 
#你想点的中间

#移动鼠标 
pyautogui.moveTo(goto_pos, duration=1) 

#点击 
pyautogui.click()

#再移动鼠标 ,相对位置函数
pyautogui.moveRel(0,650,duration=1) 

# 再点击 
pyautogui.click()
pyautogui.mouseDown() #这只是按下鼠标按键。
pyautogui.mouseUp() 
#这只是释放鼠标按键。
#这些函数的参数与 click() 相同。click() 函数只是这两个函数调用的方便封装。
 pyautogui.doubleClick() #函 数 只 执 行 双 击 鼠 标 左 键 。
pyautogui.rightClick() 
 pyautogui.middleClick() 
 #函数将分别执行双击右键和双击中键。
pyautogui.dragTo() 
pyautogui.dragRel()
#将鼠标拖动到一个新的位置,或相对当前位置的位置。

参数与moveTo() 和 moveRel() 相同:x 坐标/水平移动, y 坐标/垂直移动,以及可选的时间间隔

pyautogui.scroll(4)

你向它提供一个整型参数,说明向上或向下滚动多少单位。单位的意义在每个操作系统和应用上不一样,所以你必须试验,看看在你的情况下滚动多远。滚动发生在鼠标的当前位置。

最后就是键盘内容:

import pyautogui 
import time #系统准备时间 
time.sleep(2)

#点击一次你要输入的东西
pyautogui.click(button="left")# 输入
pyautogui.typewrite('l love H4nk.')# 继续输入的内容带有打字感
pyautogui.typewrite('\nl love Zkaq too.',0.25)
# 输入hank,然后将头文字改为大写G,最后在行尾写个句号
pyautogui.typewrite(['enter', 'h', 'a', 'n', 'k', 'left', 'left', 'backspace','4', 'end','.'],0.25)

import pyautogui 
import time 

time.sleep(2)

#每个动作间隔0.5秒钟 
pyautogui.PAUSE=0.5
pyautogui.FAILSAFE= True #启动自动防故障功能

#打出时间,记事本的f5是时间
pyautogui.press('f5');
#打入内容
pyautogui.typewrite("\nzkaqh4nk")

#按下Ctrl键
pyautogui.keyDown('ctrl');#按下ctrl键,拷贝
pyautogui.press('a');

# 按下c键,复制
pyautogui.press('c'); 
# 松开Ctrl键
pyautogui.keyUp('ctrl')

#鼠标点击记事本下方
pyautogui.click(600,600)
# 输入两个空行
pyautogui.typewrite("\n\n")

pyautogui.hotkey('ctrl', 'v')

用户名金币积分时间理由
Track-劲夫 40.00 0 2022-01-10 17:05:08 一个受益终生的帖子~~

打赏我,让我更有动力~

1 条回复   |  直到 2022-1-10 | 1152 次浏览

Track-劲夫
发表于 2022-1-10

希望你可以分享更多有意思的Python库

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.