转载本文,请联系Python技术公众号。人与动物最本质的区别在于,人类懂得制造和使用工具,这是由从古至今延续的基因决定的。前段时间有个朋友的生意需要很多原创?,问我能不能帮忙。了解具体需求后,发现不需要优质内容,操作也不是很复杂。可以通过Python实现自动化,也同意了这件事情。我们知道PyAutoGUI是一个用于以编程方式控制鼠标和键盘的Python库,那么让我们从它开始吧。安装Win和macOS的安装命令不同。##windowspy-mpipinstallpyautogui##macOSpython3-mpipinstallpyautogui屏幕位置屏幕上的位置用笛卡尔坐标表示,X坐标从左上角0开始向右递增,不像数学,Y坐标从左上角0开始左上角向下增加。因此,左上角的像素位于坐标(0,0),如果您的屏幕分辨率为1920x1080,则右下角的像素将为(1919,1079),因为像素从坐标0开始。屏幕分辨率的大小可以通过size()函数获取,当前鼠标位置可以通过position()函数获取。0,0Xincreases-->+----------------------------+||Yincreases||||1920x1080screen||||V||||+-------------------------+1919,1079importpyautoguix,y=pyautogui.position()print(x,y)x,y=pyautogui.size()print(x,y)##outputresult5454371440900鼠标移动鼠标的移动分为绝对坐标移动和相对坐标移动。比如要将鼠标移动到坐标(100,100),直接调用moveTo函数即可。importpyautogui#移动鼠标到(100,200)坐标pyautogui.moveTo(100,200)#移动鼠标到(100,500坐标)pyautogui.moveTo(None,500)#移动鼠标到(600,500)坐标pyautogui.moveTo(600,None)#将鼠标移动到坐标(100,200),移动过程是一个连续的过程,耗时2秒pyautogui.moveTo(100,200,2)移动函数是一个简单的相对Move.importpyautogui#将鼠标移动到(100,200)坐标pyautogui.moveTo(100,200)#将鼠标向下移动50像素pyautogui.move(0,50)#将鼠标向左移动30像素pyautogui.move(-30,0)#将鼠标向左移动30像素leftpyautogui.move(-30,None)与鼠标移动相比,鼠标拖动也分为绝对坐标拖动和相对坐标拖动,同样的dragTo函数使用的是绝对坐标,拖动使用的是相对坐标。importpyautogui#按住左鼠标按钮并将目标拖动到(100,200)坐标pyautogui.dragTo(100,200,button='left')#按住鼠标左键拖动目标到(100,200)坐标处,移动过程是一个连续的过程,耗时2秒移动过程是一个连续的过程,即需要2秒。pyautogui.drag(30,0,2,button='right')mouseclick我们可以使用click()函数来模拟鼠标点击。importpyautogui#在当前位置点击左键pyautogui.click()#将鼠标移动到(100,200)坐标处,然后点击左键#但是这个方法有点奇怪,有时候会失败,可以使用moveTo+clickpyautogui.click(x=100,y=200)#在当前位置双击左键pyautogui.doubleClick()控制键盘键盘控件一般用于输入字符串,按下一个按钮和一个键的组合。importpyautogui#Input"HelloWorld"pyautogui.write('Helloworld!')#按下回车/F1键pyautogui.press('enter')pyautogui.press('f1')#combinedbuttoncommand+apyautogui.hotkey('command','a')制作视频有了上面的基础,我们就可以开始我们的视频制作了,这次要用到剪辑软件。这里需要大家熟悉剪辑的操作步骤,基本分为三个部分:将指定图片拖入视频轨道,调整视频时长,导出。最终效果如下:原视频#coding=utf-8importtimeimportpyautogui#将图片拖入轨道defdrag_img_to_track():#选中图片pyautogui.moveTo(170,270)pyautogui.doubleClick()#将图片拖入轨道pyautogui.dragTo(120,600,1,button='left')#调整视频时长defdrag_img_to_3_min():#选择轨道中的第一张图片pyautogui.moveTo(125,600)pyautogui.click()#拖到第三分钟pyautogui.moveTo(135,600)pyautogui.dragTo(700,600,1,button='left')#删除旧素材defdelete_top_img():#删除轨道中第二张图片pyautogui.moveTo(300,160)pyautogui.doubleClick()pyautogui.press("backspace")#enteryespyautogui.moveTo(650,470)time.sleep(0.5)pyautogui.click()#exportdefexport(name):pyautogui.moveTo(126,600)pyautogui.click()pyautogui.hotkey('command','e')pyautogui.write(名称)time.sleep(1)pyautogui.moveTo(800,393)pyautogui.click()time.sleep(20)pyautogui.click()index=0count=2whileindex
