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 相关文章推荐
PyQt5打开文件对话框QFileDialog实例代码
Feb 07 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
Django接收自定义http header过程详解
Aug 23 Python
Kears+Opencv实现简单人脸识别
Aug 28 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
Python实现投影法分割图像示例(二)
Jan 17 Python
pycharm实现在虚拟环境中引入别人的项目
Mar 09 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
Apr 07 Python
Tensorflow实现将标签变为one-hot形式
May 22 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
Python基于百度API识别并提取图片中文字
Jun 27 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
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
jquery中checkbox使用方法简单实例演示
2015/11/24 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
跟老齐学Python之重回函数
2014/10/10 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
python插入排序算法实例分析
2015/07/03 Python
python文件名和文件路径操作实例
2017/09/29 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
Python常见的pandas用法demo示例
2019/03/16 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
如何写好升职自荐信
2014/01/06 职场文书
小学教师自我鉴定范文
2014/03/20 职场文书
热门专业求职信
2014/05/24 职场文书
导游词格式
2015/02/13 职场文书
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
解决Python字典查找报Keyerror的问题
2021/05/26 Python
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL
python文件与路径操作神器 pathlib
2022/04/01 Python