iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
自我挑戰組

使用python撰寫簡單的程式來增進日常生產力系列 第 3

自動化初步-使用pyautogui

這個程式是自動開啟Google翻譯,然後錄下Google小姐的聲音。

首先一樣是先引入模組以及預備, 要注意用selenium進行爬蟲的時候,chrome 有時候會出現「自動軟體正在控制您的瀏覽器」,然後程式可能會跑不動。因此在程式當中要加入Chrome Option。讀者可以直接將下列的程式碼直接複製貼到自己的程式檔中。

import time
import pyautogui
import pyperclip
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option("prefs", {"profile.password_manager_enabled": False, "credentials_enable_service": False})
PATH= "C:/Users/user/Desktop/chromedriver_win32/chromedriver.exe"
driver=webdriver.Chrome(PATH,chrome_options=options)

接下來get(f'https://translate.google.com/?sl=auto&tl=en&text={text}&op=translate&hl=zh-CN')
這段程式碼比較好玩,https://translate.google.com/就是Google翻譯的網頁。後面一長串可以仔細觀察一下,裡面的參數等同告訴Google要用什麼語言來翻譯,以及翻譯的字串。因此我們只要將text參數傳到網址裡面,就可以省去我們「複製貼上文字」以及「選按語言」的功夫了。 有很多網站(Facebook、YouTube、dcard等等)都有相關的特性, 讀者有空的時候可以留心觀察。


text='''戰火無情 ,江湖血路悲魂喪 ,歷史不朽 ,刀戟共竟戡魔功。英雄無淚 ,豪情縱橫神州蕩 ,智冠群倫, 曠古絕今, 笑蒼穹。軍威臨, 馬無疆, 逐鹿中原, 誰能當。指風雲, 掌乾坤, 笑傲天下, 任人狂。誰與梟皇論戰 ?何人權傾江湖? 今朝翻覆玄黃 ,明日威震漢楚;龍圖霸業 ,一將功成萬骨枯! 魔梟爭鋒, 唯吾獨尊 ,絕千古!!'''


driver.get(f'https://translate.google.com/?sl=auto&tl=en&text={text}&op=translate&hl=zh-CN')
driver.maximize_window()

再來就是這次程式碼的重頭戲了,pyautogui這個模組主要可以分為兩種操作:鍵盤與滑鼠。滑鼠比較常用的就是click(點擊)還有locateCenterOnScreen(辨識圖片並且定位)的這兩種操作。而鍵盤的操作則是press(按下某個鍵)、hotkey(快捷鍵組合)。(ps:要注意鍵盤的操作並不能夠直接幫我們輸入我們要的文字內容,所以當我們需要輸入某些文字的時候我們就必須使用python的剪貼簿模組) 下面的程式碼請讀者自行玩味喔~!


def all_windows_minimize():
    pyautogui.click(x=1919,y=1079)
def execute_command(command):
    obj=pyautogui.locateCenterOnScreen(f'{command}.png')
    print(obj)
    pyautogui.click()    
def record_sound():
    all_windows_minimize
    pyautogui.press('win') #Windows
    pyperclip.copy('語音錄音機')
    pyautogui.hotkey('ctrl', 'v')#ctrl+v
    execute_command('錄音程式')
    execute_command('錄音開始')
    time.sleep(3)
    all_windows_minimize
    execute_command('chrome-icon')
    execute_command('播放google小姐聲音')
    time.sleep(Estimated_time(text))
    execute_command('錄音結束')
    
record_sound()

上一篇
selenium爬蟲:爬取影片名稱與連結
下一篇
自動化初步-試著用pyautogui操作一般軟體
系列文
使用python撰寫簡單的程式來增進日常生產力6

尚未有邦友留言

立即登入留言