自动化初步-使用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()

<<:  【後转前要多久】# Day03 HTML - BODY内的东西

>>:  初探 Vaadin on Kotlin - day03

[Android Studio 30天自我挑战] Progress Bar练习

这篇用Progress Bar做一个环状的进度条 按下按钮後会开始跑0~100% 进度调也会跟着%的...

Day09表单(HTML)

表单 原本介绍的标签都比较属於呈现给使用者 但是今天要介绍的表单呢就不仅是单单呈现而已 因为他会将使...

[Day8] 注册API – migrate

昨天我们说明了关於Field,今天我们要来说明的是migrate,这个部分是在每次我们在设定mode...

day28 等一下啦,会坏掉的/// Coroutine并发操作的重复请求

没有要开车,参赛规定有写不能污言秽语,等我有空再去其他平台写个开车系列的coroutine 这里给个...

连续 30 天 玩玩看 ProtoPie - Day 22

模拟 Skeleton Loader https://www.youtube.com/watch?v...