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编写的微博应用
Oct 17 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 Python
python2.7和NLTK安装详细教程
Sep 19 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
Python 实现向word(docx)中输出
Feb 13 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
关于python的缩进规则的知识点详解
Jun 22 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
用python对excel进行操作(读,写,修改)
Dec 25 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 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
投票管理程序
2006/10/09 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
分享10段PHP常用代码
2015/11/11 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
javascript类型系统_正则表达式RegExp类型详解
2016/06/24 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
vue实现购物车案例
2020/05/30 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
浅析Python 读取图像文件的性能对比
2019/03/07 Python
Python中if有多个条件处理方法
2020/02/26 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
公司JAVA开发面试题
2015/04/02 面试题
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
应届毕业生的个人自我鉴定
2013/10/24 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
销售顾问岗位职责
2014/02/25 职场文书
爱牙日活动总结
2014/08/29 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏