Python實現(xiàn)自動打開電腦應用的示例代碼
由于時間原因,有時候可能會錯過某個上網(wǎng)課的時間段。因此想要實現(xiàn)自動定時啟動DingDing。
新手一枚,如有不當勿噴望大佬指正。
自動打開DingDing可以由兩種方法實現(xiàn):
通過找出找出軟件在電腦中快捷方式的位置(電腦屏幕中的坐標),使用代碼模擬鼠標進行雙擊打開。 通過輸入軟件在電腦中的安裝路徑打開軟件。1.第一種方法:
在python中,使用pip install pyautogui 安裝第三方庫,在此庫中,可以使用pyautogui.position()獲取當前鼠標放置位置的坐標。我們可以多次使用此方法來實現(xiàn)獲取任意想要獲取位置的坐標。
import pyautoguiimport time#循環(huán)執(zhí)行pyautogui.position()獲取不同位置坐標while True: print('當前鼠標的坐標為:'pyautogui.position()) time.sleep(1)#設置打印的時間間隔
多次執(zhí)行結(jié)果:
在使用此方法獲取到想要打開的軟件的快捷方式后,就是進行鼠標點擊的模擬了
我們可以通過使用pyautogui.click(click=2)實現(xiàn)雙擊鼠標左鍵的效果。
通使用pyautogui.moveTo(x,y)實現(xiàn)鼠標的移動功能。結(jié)合鼠標的點擊就可以進行自動的打開電腦應用的功能了。
import pyautoguiimport timedef AutoOpen(): startPosition = (327,164)#鼠標需要移動的位置 endPosition = (306,216) position=[startPosition,endPosition] for i in position: pyautogui.moveTo(i)#控制鼠標移動 pyautogui.click(clicks=2)#實現(xiàn)鼠標雙擊 time.sleep(3)if __name__ == ’__main__’: AutoOpen()
需要注意的是:本方法不能再代碼的編譯器占滿整個屏幕的時候使用,那樣獲取的坐標位置為編譯器中的位置,位置雖然通用,但是不能實現(xiàn)點擊應用的功能,要點擊的應用不能被編譯器所覆蓋。只有這樣才能實現(xiàn)點擊功能。
2.第二種方法
獲取文件的安裝路徑,找到后綴為.exe的可執(zhí)行的文件,使用os.startfile(Path)打開文件(os庫為自帶庫無需安裝)Path=“F:XXXXXX.exe”
import os Path = r’F:DingDingDingtalkLauncher.exe’os.startfile(Path)
通過上面三行代碼足以打開需要打開的文件。
import pyautoguiimport timeimport osdef AutoOpen(Path): os.startfile(Path) #os.startfile()打開外部應該程序,與windows雙擊相同 pyautogui.moveTo(306, 216)#pyautogui.moveTo()將鼠標移動到指定位置 time.sleep(6) pyautogui.click(clicks=2)#鼠標點擊,實現(xiàn)鼠標雙擊if __name__ == ’__main__’: Path=r’F:DingDingDingtalkLauncher.exe’ AutoOpen()
此方法如果不涉及點擊事件的模擬則沒有要求,如果需要點擊則同上,不能覆蓋住要點擊的位置。
3.定時打開
在自動打開的功能實現(xiàn)后,就是簡單的設置自動打開的時間了,通過使用time 庫,獲取當前時間。自己可以設置一個需要打開的時間,通過對比當前時間就能實現(xiàn)定時自動打開的功能了。
完整代碼:
import pyautoguiimport timedef open_app(Path): os.startfile(Path) #os.startfile()打開外部應該程序,與windows雙擊相同 pyautogui.moveTo(306, 216)#pyautogui.moveTo()將鼠標移動到指定位置 time.sleep(6) pyautogui.click(clicks=2)#鼠標點擊,實現(xiàn)鼠標雙擊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:DingDingDingtalkLauncher.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自動化打開網(wǎng)頁
from selenium.webdriver.firefox.options import Options as FOptionsfrom selenium.webdriver.chrome.options import Options as Foptionsfrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.firefox.firefox_profile import FirefoxProfile#firefox設置代理profile = FirefoxProfile()# 激活手動代理配置(對應著在 profile(配置文件)中設置首選項)profile.set_preference('network.proxy.type', 1)# ip及其端口號配置為 http 協(xié)議代理profile.set_preference('network.proxy.http', '127.0.0.1')profile.set_preference('network.proxy.http_port', 8080)# 所有協(xié)議共用一種 ip 及端口,如果單獨配置,不必設置該項,因為其默認為 Falseprofile.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實現(xiàn)自動打開電腦應用的示例代碼的文章就介紹到這了,更多相關Python 自動打開電腦應用內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!
相關文章:
