专栏首页孤独的Spython---很多行代码做一个自动打开软件的程序

python---很多行代码做一个自动打开软件的程序

这里我要推荐一个可以控制鼠标和键盘的库,pyautogui,据它的官方文档,PyAutoGUI的目的是为人类的 GUI自动化提供跨平台的Python模块。

既然能控制了,只要安排好逻辑就可以使其按照我想要的想法去运动起来,例如,获取我们的语音消息,例如打开什么软件,然后程序就自动去运行点击这个软件的代码,这样就打开了这个软件了。

这里我们就不去用语音那么复杂了,麻烦点,自己手动输入要打开的程序名


首先我们要先了解pyautogui的实现过程,这里贴上pyautogui的官方文档:

https://pyautogui.readthedocs.io/en/latest/introduction.html

关于pyautogui的安装:

pip install pyautogui

即可

这里普及一个知识点,电脑屏幕桌面是自左向右,自上向下增加的,就是说左上角是(0,0),右下角是(屏幕的尺寸值,尺寸值)

关于pyautogui的鼠标操作:

获取鼠标的位置:

import pyautogui   #导入pyautogui库
import time  #导入时间库
while 1:
    time.sleep(0.5)  #休息0.5s
    print(pyautogui.position())   #输出鼠标的x,y坐标

让鼠标移动:

import pyautogui

pyautogui.moveTo(100,100)  #让鼠标移动到(100,100)

如果你想要拖动窗口移动的话:

可以用

import pyautogui

pyautogui.dragTo(100,100,2,button='left') #这里就是按住鼠标左键拖动

里面的2是2秒,

鼠标的点击:

import pyautogui
pyautogui.click(clicks=2)

然后有移动鼠标和点击鼠标,再加上一个根据图片去定位的功能,就可以实现运行程序去打开一个软件了,具体代码如下:

import pyautogui
import time
cposition = pyautogui.locateOnScreen('c.png')  #根据图片定位
cc = pyautogui.center(cposition)  #获取这个软件位置的中心
print(cposition)
print(cc)
pyautogui.moveTo(cc[0],cc[1])  #把鼠标移动到这个位置
pyautogui.click(clicks=2)   #点击两下,实现双击

前方高能,试了一下录频显示运行结果,可以更加好的展示结果!!!

点击视频的时候记得调低音量,忽略我的电流耳机

pyautogui的键盘功能:

打字功能:

这里可以实现给定一串英文字符,然后直接打出

import pyautogui
pyautogui.typewrite('Hello world!', interval=0.25)

其中interval是间隔时间,0.25就是1/4秒。

键盘操作还有press(),keyup(),keydown(),和热键hotkey()四个函数

其中press就是keyup和keydown合并起来的函数,

keyup就是按键抬起,keydown就是按键按下

import pyautogui
pyautogui.keyDown('shift')
pyautogui.press(['left', 'left', 'left'])
pyautogui.keyUp('shift')

hotkey()就是可以让你连续的按下几个键然后按相反顺序释放。

今天去体验了一下计算机二级的python,题都是题库的题,如果有认真背题都能过,编程题的话我个人感觉比力扣的简单题还要简单,这也仅仅是个人想法。

本文分享自微信公众号 - 孤独的S(sjw_980305),作者:sjw1998

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python之多线程

    本来呢应该先看多进程的,但是由于我的虚拟机之前删除了linux,所以现在没有这个系统,可能无法编译一些多进程的程序,于是我就想着先看多线程了。

    sjw1998
  • 机器学习-手写数字识别

    据说,在命令行窗口打印出‘hello,world’是入门编程语言的第一个程序,那么手写数字识别就是机器学习的hello,world了,学习的东西不经常复习的容易...

    sjw1998
  • python-- 爬虫之用Selenium做爬虫

    框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从...

    sjw1998
  • 文件地址映射之yaffs_GetTnode

    yaffs文件系统在更新文件数据的时候,会分配一块新的chunk,也就是说,同样的文件偏移地址,在该地址上的数据更新前和更新后,其对应的flash上的存储地址是...

    anytao
  • [python从入门到放弃]用pyautogui批量输入表单

    STEP2:安装pyautogui,命令行输入pip install pyautogui

    周星星9527
  • 自动输入表单-以录入学生平时成绩到教务系统为例

    STEP2:安装pyautogui,命令行输入pip install pyautogui

    周星星9527
  • Pytest脚本中用例运行方式

    橙子探索测试
  • 计算机领域的日系书籍

    在计算机的设计里,很多经典的书籍多为欧美人所撰写,毕竟他们占据了英语这个优势。这里的主题不是推荐英文书籍,而是推荐几本日系的计算机图书。

    技术小黑屋
  • 成功数据科学企业家15本必读书—内含他们的成功秘籍!

    简介 现在,每5个人里面就有1个人在谈论着他们的创业想法。他们当中有部分甚至曾经创立过自己的公司。但是只有意志坚定的人坚持了下来。在数据科学领域,情况就不太一...

    灯塔大数据
  • 我的编程生涯里启发我的15本书

    从几百本书中整理出一份书单是一件困难的事,但是从这些书中挑选出对自己影响比较大的书确是一件容易的事。 在是一份迟来的书单,但是并不是一份适用于每个人的书单。这是...

    Phodal

扫码关注云+社区

领取腾讯云代金券