赞
踩
用pip直接安装,可能错误不断,基本都是版本的问题,我是这样安装的,可以尝试一下,能不能成功
pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pillow==7.1.0
pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pymsgbox==1.0.6
pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pygetwindow==0.0.1
pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pyscreeze==0.1.20
pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pyautogui==0.9.42
首先是,关于坐标问题
屏幕左上角坐标是(0, 0),右下角为屏幕分辨率
确定屏幕任意位置的坐标,可以用截图软件,最简单的微信截图也可以,知晓x,y后,带入PyAutoGUI就可以实现相应的操作啦
下面是这个包的一些基本操作,我觉得当面对大量重复的鼠标和键盘操作时,这个包还是挺有用的,就比如那种有很多格式相同的word文件,需要一个一个的打开,然后在固定的位置填入内容或者进行一些操作时,这个包就能用上,当然也可以有其他方式实现。
import pyautogui import pyperclip pyautogui.PAUSE = 1 # 意味着所有pyautogui的指令都要暂停一秒 # 获得屏幕的分辨率 width, height = pyautogui.size() # 判断坐标是否在屏幕范围内 pyautogui.onScreen(100,200) # 鼠标定位 pyautogui.position() # 当前鼠标位置 # 鼠标移动 pyautogui.moveTo(x=1098, y=748, duration=1, tween=pyautogui.easeInOutQuad) # 绝对坐标 pyautogui.moveRel(None, 50) # 相对坐标,以当前鼠标所在位置为基点 鼠标向下移动10像素 pyautogui.moveRel(-200, 50) # 向右200,向下50 # 鼠标点击 pyautogui.mouseDown() #按下鼠标按键(左键) pyautogui.mouseUp() #释放鼠标按键(左键) pyautogui.click() #单击,一次鼠标点击包括按下和弹起 pyautogui.click(x=1098, y=748) # 默认鼠标左键 left pyautogui.click(x=1098,y=748,button='left') pyautogui.click(x=1098,y=748,button='right') pyautogui.click(x=1098,y=748,button='middle') pyautogui.rightClick() #单击鼠标右键 pyautogui.middleClick() #单击鼠标中键 pyautogui.click(clicks=2) # 双击 pyautogui.doubleClick(x=1098,y=748,button="left") # 双击 pyautogui.click(button='right', clicks=3, interval=0.25) # 三击 # 鼠标移动后点击 pyautogui.click(x=1098,y=748,button='left') pyautogui.click(x=1098,y=748,button='right' # 鼠标拖拽(按下鼠标键并拖动鼠标) # 鼠标拖曳,指从当前位置按下鼠标,移动至目标位置再释放的过程 pyautogui.dragTo(385,262,duration=1) # 绝对,按下鼠标键不放,同时移动鼠标 pyautogui.dragRel(100,500,duration=4) # 相对 # 鼠标滚动 pyautogui.click(x=387,y=746,button='left') pyautogui.scroll(300) # 向下滚动300个单位 pyautogui.hscroll(10) # 向右/左滚动 # 键盘操作 pyautogui.keyDown('shift') #按键按下shift pyautogui.keyDown('alt') pyautogui.keyUp('alt') # 按键释放 pyautogui.press('esc') # 就是调用keyDown() & keyUp(),模拟一次按键 pyautogui.press(['left', 'left', 'left', 'left', 'left', 'left']) #连续按键left # 按下键盘组合键 pyautogui.hotkey('win', 'r') pyautogui.hotkey('ctrl', 'v') # 组合键 pyautogui.hotkey('alt', 'tab') # 组合键 pyautogui.hotkey('ctrl', 'shift', 'esc') #调出任务管理器 # 输入文本 pyautogui.typewrite('Hello world!', interval=0.1) #模拟输入 pyautogui.typewrite(['a','b','left','left','X','Y']) #可以传入单字母的列表 pyautogui.typewrite(['T','i','s','left','left','h',]) # 键盘特殊顺序输出,输出:This # 截全屏 im1 = pyautogui.screenshot() im1.save('11.png') im2 = pyautogui.screenshot('11.png') im = pyautogui.screenshot(r'12.png',region=(0, 0, 300, 400))# 截取部分屏幕 # 消息窗口 ...
用截图软件,找到微信的位置,然后对某个对象,进行信息轰炸,哈哈
import pyautogui import pyperclip # pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pyperclip # 用截图软件确定微信的位置 # duration类似于移动时间或移动速度,省略后则是瞬间移动到指定的位置 pyautogui.moveTo(x=1098, y=748, duration=1, tween=pyautogui.easeInOutQuad) pyautogui.click() #单击 # 找到输入框(这里已经确定好要发的对象) pyautogui.moveTo(x=656, y=552, duration=0.5, tween=pyautogui.easeInOutQuad) pyautogui.click() #单击 # 循环10次 for i in range(10): pyperclip.copy('信息轰炸,不要管我!') pyautogui.hotkey('ctrl', 'v') # 组合键 pyautogui.press('enter')
可以直接一步到位
import pyautogui
import pyperclip
pyautogui.click(x=1098, y=748,duration=1,button='left')
pyautogui.click(x=656, y=552,duration=1,button='left')
for i in range(10):
pyperclip.copy('信息轰炸,不要管我!')
pyautogui.hotkey('ctrl', 'v') # 组合键
pyautogui.press('enter')
乱发消息
import random
zimu = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', \
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
pyautogui.click(x=1098, y=748,duration=1,button='left')
pyautogui.click(x=656, y=552,duration=1,button='left')
for i in range(10):
# interval用于设置输入的速度
pyautogui.typewrite(random.sample(zimu, 4)+['space'], interval=0.1)
pyautogui.press('enter')
import pyautogui
import pyperclip
# pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com pyperclip
import time
pyautogui.click(x=340, y=753,duration=1,button='left') # 点击浏览器
pyautogui.click(x=101, y=83,duration=1,button='left') # 点击收藏栏中的百度图标
time.sleep(3) # 要缓一下
pyautogui.click(x=394, y=312,duration=1,button='left') # 在百度输入框,输入内容
pyperclip.copy('卖山楂啦prss')
pyautogui.hotkey('ctrl', 'v') # 组合键,输入内容
pyautogui.press('enter')
pyautogui.click(x=400, y=248,duration=1,button='left') # 点击第一个搜索结果
运行代码段是我在操作,之后就是程序自动执行了
import time import pyautogui as pag import webbrowser webbrowser.open_new("https://formsmarts.com/html-form-example") #Let the web browser finish loading before clicking (sleep for 2 seconds) time.sleep(3) pyautogui.moveTo(x=1357, y=207, duration=1, tween=pyautogui.easeInOutQuad) pag.dragTo(1356,431,duration=1) # 绝对,按下鼠标键不放,同时移动鼠标 pyautogui.click(x=419, y=265,duration=1,button='left') # First Name pyperclip.copy('Tan') pyautogui.hotkey('ctrl', 'v') # 组合键,输入内容 pyautogui.click(x=435, y=316,duration=1,button='left') # Last Name pyperclip.copy('GGG') pyautogui.hotkey('ctrl', 'v') # 组合键,输入内容 pyautogui.click(x=456, y=365,duration=1,button='left') # 邮箱 pyperclip.copy('123@qq.com') pyautogui.hotkey('ctrl', 'v') # 组合键,输入内容 pyautogui.click(x=438, y=411,duration=1,button='left') # Subject of Your Inquiry pyautogui.click(x=446, y=461,duration=1,button='left') # Subject of Your Inquiry pyautogui.click(x=436, y=459,duration=1,button='left') # Inquiry pyperclip.copy('今天你真好看!') pyautogui.hotkey('ctrl', 'v') # 组合键,输入内容 pyautogui.click(x=418, y=649,duration=1,button='left') # 点击继续
如果读者要尝试的话,可能需要换一下里面的坐标,我的屏幕分辨率((1366, 768))和你的可能不一样
参考:https://mp.weixin.qq.com/s/JTM_Wqkqe3ddnRhd-nmIxQ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。