Python实现自动打开电脑应用的示例代码


Posted in Python onApril 17, 2020

由于时间原因,有时候可能会错过某个上网课的时间段。因此想要实现自动定时启动DingDing。

新手一枚,如有不当勿喷望大佬指正。

自动打开DingDing可以由两种方法实现:

  • 通过找出找出软件在电脑中快捷方式的位置(电脑屏幕中的坐标),使用代码模拟鼠标进行双击打开。
  • 通过输入软件在电脑中的安装路径打开软件。

1.第一种方法:

​在python中,使用pip install pyautogui 安装第三方库,在此库中,可以使用pyautogui.position()获取当前鼠标放置位置的坐标。我们可以多次使用此方法来实现获取任意想要获取位置的坐标。

import pyautogui
import time
#循环执行pyautogui.position()获取不同位置坐标
while True:
 print("当前鼠标的坐标为:"pyautogui.position())
 time.sleep(1)#设置打印的时间间隔

多次执行结果:

Python实现自动打开电脑应用的示例代码

在使用此方法获取到想要打开的软件的快捷方式后,就是进行鼠标点击的模拟了

我们可以通过使用pyautogui.click(click=2)实现双击鼠标左键的效果。

通使用pyautogui.moveTo(x,y)实现鼠标的移动功能。结合鼠标的点击就可以进行自动的打开电脑应用的功能了。

import pyautogui
import time
def AutoOpen():
 startPosition = (327,164)#鼠标需要移动的位置
 endPosition = (306,216)
 position=[startPosition,endPosition]
 for i in position:
  pyautogui.moveTo(i)#控制鼠标移动
  pyautogui.click(clicks=2)#实现鼠标双击
  time.sleep(3)
if __name__ == '__main__':
 AutoOpen()

需要注意的是:本方法不能再代码的编译器占满整个屏幕的时候使用,那样获取的坐标位置为编译器中的位置,位置虽然通用,但是不能实现点击应用的功能,要点击的应用不能被编译器所覆盖。只有这样才能实现点击功能。

2.第二种方法

获取文件的安装路径,找到后缀为.exe的可执行的文件,使用os.startfile(Path)打开文件(os库为自带库无需安装)Path=“F:\XXX\XXX.exe”

import os 
Path = r'F:\DingDing\DingtalkLauncher.exe'
os.startfile(Path)

通过上面三行代码足以打开需要打开的文件。

import pyautogui
import time
import os
def AutoOpen(Path):
 os.startfile(Path) #os.startfile()打开外部应该程序,与windows双击相同
 pyautogui.moveTo(306, 216)#pyautogui.moveTo()将鼠标移动到指定位置
 time.sleep(6)
 pyautogui.click(clicks=2)#鼠标点击,实现鼠标双击
if __name__ == '__main__':
 Path=r'F:\DingDing\DingtalkLauncher.exe'
 AutoOpen()

此方法如果不涉及点击事件的模拟则没有要求,如果需要点击则同上,不能覆盖住要点击的位置。

3.定时打开

在自动打开的功能实现后,就是简单的设置自动打开的时间了,通过使用time 库,获取当前时间。自己可以设置一个需要打开的时间,通过对比当前时间就能实现定时自动打开的功能了。

完整代码:

import pyautogui
import time

def open_app(Path):
 os.startfile(Path) #os.startfile()打开外部应该程序,与windows双击相同
 pyautogui.moveTo(306, 216)#pyautogui.moveTo()将鼠标移动到指定位置
 time.sleep(6)
 pyautogui.click(clicks=2)#鼠标点击,实现鼠标双击
def AutoOpen():
 startPosition = (327,164)
 endPosition = (306,216)
 position=[startPosition,endPosition]
 for i in position:
  pyautogui.moveTo(i)
  pyautogui.click(clicks=2)
  time.sleep(3)
if __name__ == '__main__':
 Path=r'F:\DingDing\DingtalkLauncher.exe'
 times = "2020-xx-xx xx:xx"#设置需要打开的时间,此时间看自己需求是否精确到秒("2020-xx-xx xx:xx:xx")
 while True:
  nowtime = time.strftime('%Y-%m-%d %H:%M')
  if (times == nowtime):
   open_app(Path)
   break
  else:
   print(time.strftime('%Y-%m-%d %H:%M:%S'))
   time.sleep(10)

python自动化打开网页

from selenium.webdriver.firefox.options import Options as FOptions
from selenium.webdriver.chrome.options import Options as Foptions
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains


from selenium.webdriver.firefox.firefox_profile import FirefoxProfile

#firefox设置代理
profile = FirefoxProfile()
# 激活手动代理配置(对应着在 profile(配置文件)中设置首选项)
profile.set_preference("network.proxy.type", 1)
# ip及其端口号配置为 http 协议代理
profile.set_preference("network.proxy.http", "127.0.0.1")
profile.set_preference("network.proxy.http_port", 8080)

# 所有协议共用一种 ip 及端口,如果单独配置,不必设置该项,因为其默认为 False
profile.set_preference("network.proxy.share_proxy_settings", True)

#chrome设置代理
# options = FOptions()


options = FOptions()
chrome_options = webdriver.FirefoxOptions()
chrome_options.add_argument('--proxy-server=http://127.0.0.1:8080')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('disable-infobars')
browser = webdriver.Firefox(executable_path="D:/geckodriver.exe",firefox_profile=profile)

browser.maximize_window()
browser.get('https://account.dianping.com/login?redir=http%3A%2F%2Fwww.dianping.com%2F')

button = browser.find_element_by_xpath('/html/body/div/div[2]/div[5]/span')
button.click()

到此这篇关于Python实现自动打开电脑应用的示例代码的文章就介绍到这了,更多相关Python 自动打开电脑应用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
详解Python中的文本处理
Apr 11 Python
Django中使用locals()函数的技巧
Jul 16 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
python解决js文件utf-8编码乱码问题(推荐)
May 02 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
Feb 12 Python
Python socket实现多对多全双工通信的方法
Feb 13 Python
Python装饰器限制函数运行时间超时则退出执行
Apr 09 Python
Python库安装速度过慢解决方案
Jul 14 Python
Python实现七个基本算法的实例代码
Oct 08 Python
Python中 range | np.arange | np.linspace三者的区别
Mar 22 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
Apr 17 #Python
Python读取excel文件中带公式的值的实现
Apr 17 #Python
在Matplotlib图中插入LaTex公式实例
Apr 17 #Python
python中for in的用法详解
Apr 17 #Python
解决Jupyter无法导入已安装的 module问题
Apr 17 #Python
使用 Python 读取电子表格中的数据实例详解
Apr 17 #Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 #Python
You might like
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
js实现文本框支持加减运算的方法
2015/08/19 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
python多线程用法实例详解
2015/01/15 Python
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
python绘制漏斗图步骤详解
2019/03/04 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
python 列表、字典和集合的添加和删除操作
2019/12/16 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
应届大专毕业生个人自荐信
2013/09/22 职场文书
女大学生毕业找工作的自我评价
2013/10/03 职场文书
五好党支部事迹材料
2014/02/06 职场文书
迟到检讨书300字
2014/02/14 职场文书
导游词怎么写
2015/02/04 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
指导教师推荐意见
2015/06/05 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
JavaScript 对象创建的3种方法
2021/11/17 Javascript
如何利用React实现图片识别App
2022/02/18 Javascript