這個程式是自動開啟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()