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 相关文章推荐
Python3实现生成随机密码的方法
Aug 23 Python
Python2.x与Python3.x的区别
Jan 14 Python
python学生信息管理系统
Mar 13 Python
使用Python抓取豆瓣影评数据的方法
Oct 17 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
python支付宝支付示例详解
Aug 22 Python
在Python中获取操作系统的进程信息
Aug 27 Python
python定间隔取点(np.linspace)的实现
Nov 27 Python
Python 实现try重新执行
Dec 21 Python
详解如何修改python中字典的键和值
Sep 29 Python
python如何编写类似nmap的扫描工具
Nov 06 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 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
php sybase_fetch_array使用方法
2014/04/15 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
php中stdClass的用法分析
2015/02/27 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
python实现彩色图转换成灰度图
2019/01/15 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
Python解析json代码实例解析
2019/11/25 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
教师应聘个人求职信
2013/12/10 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS
php 原生分页
2021/04/01 PHP
python基础学习之生成器与文件系统知识总结
2021/05/25 Python