Python利用Selenium實(shí)現(xiàn)簡(jiǎn)單的中英互譯功能
1.環(huán)境配置
安裝Chrome瀏覽器,并在 “關(guān)于 Chrome” 界面獲取版本信息

下載與瀏覽器版本號(hào)相對(duì)應(yīng)的Chromedriver插件(點(diǎn)擊跳轉(zhuǎn)至下載界面),以“128.0.6613.84”的版本示例,實(shí)際上只需要標(biāo)紅的前3位版本號(hào)與瀏覽器相對(duì)應(yīng)即可

點(diǎn)擊進(jìn)去后選擇與自己的電腦系統(tǒng)相對(duì)于的版本下載即可

安裝Selenium
pip install selenium
2.具體實(shí)現(xiàn)
導(dǎo)入Selenium包
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from time import sleep
指定Chrome瀏覽器的絕對(duì)路徑 (單引號(hào)內(nèi)路徑自行替換)
option.binary_location = '.\\Google\\Chrome\\Application\\chrome.exe'
創(chuàng)建 WebDriver 對(duì)象,指定ChromeDriver插件的路徑,同時(shí)運(yùn)行Chrome瀏覽器 (單引號(hào)內(nèi)路徑自行替換)
wd = webdriver.Chrome(service=Service(r'.\chromedriver.exe'))
調(diào)用 WebDriver 對(duì)象的get方法讓瀏覽器打開百度翻譯的網(wǎng)頁
wd.get('https://fanyi.baidu.com/mtpe-individual/multimodal')這時(shí),需要我們手動(dòng)在瀏覽器中打開百度翻譯網(wǎng)頁,通過審查元素的方式分別獲取到輸入?yún)^(qū)域和輸出區(qū)域的Class值,具體操作見視頻(點(diǎn)擊跳轉(zhuǎn)至視頻)
輸入?yún)^(qū)域:kXQpwTof
輸出區(qū)域:u4heFBcZ
讀取用戶輸入的需要翻譯的內(nèi)容,再利用Class值獲取輸入?yún)^(qū)域,將該內(nèi)容發(fā)送到輸入?yún)^(qū)域中
#讀取用戶輸入的需要翻譯的內(nèi)容
input_txt = input()
#利用Class值獲取輸入?yún)^(qū)域
input1 = wd.find_element(By.CLASS_NAME, "kXQpwTof")
#將需要翻譯的內(nèi)容發(fā)送到輸入?yún)^(qū)域中
input1.send_keys(f"{input_txt}")利用Class值獲取輸出區(qū)域,并將輸出區(qū)域中翻譯好的文本打印到終端中
#利用Class值獲取輸出區(qū)域 output1 = wd.find_element(By.CLASS_NAME, "u4heFBcZ") #將翻譯好的內(nèi)容打印出來 print(output1.text)
3.最終代碼
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from time import sleep
#隱藏瀏覽器界面
option = webdriver.ChromeOptions()
option.add_argument('--headless')
option.binary_location = '.\\Google\\Chrome\\Application\\chrome.exe'
wd = webdriver.Chrome(service=Service(r'.\chromedriver.exe'), options=option)
#以防瀏覽器還未打開就執(zhí)行打開百度翻譯網(wǎng)頁的代碼從而出現(xiàn)錯(cuò)誤,這里停頓1s
sleep(1)
#提示一次瀏覽器已經(jīng)加載好了可以開始輸入了
print("程序加載完成!\n")
#設(shè)置個(gè)循環(huán),多次反復(fù)翻譯
while 1:
#將跳轉(zhuǎn)頁面的代碼放在循環(huán)中,每次翻譯完后重新加載頁面,清空上一次的內(nèi)容
wd.get('https://fanyi.baidu.com/mtpe-individual/multimodal')
#讀取用戶輸入的需要翻譯的內(nèi)容
input_txt = input()
#利用Class值獲取輸入?yún)^(qū)域
input1 = wd.find_element(By.CLASS_NAME, "kXQpwTof")
#將需要翻譯的內(nèi)容發(fā)送到輸入?yún)^(qū)域中
input1.send_keys(f"{input_txt}")
#等待1.5s,防止還未翻譯完成就開始讀取輸出區(qū)域的內(nèi)容從而輸出空白內(nèi)容
sleep(1.5)
#利用Class值獲取輸出區(qū)域
output1 = wd.find_element(By.CLASS_NAME, "u4heFBcZ")
#將翻譯好的內(nèi)容打印出來
print(output1.text)
#打印分割線,起個(gè)美觀的作用
#print('-' * 50)4.效果展示

以上就是Python利用Selenium實(shí)現(xiàn)簡(jiǎn)單的中英互譯功能的詳細(xì)內(nèi)容,更多關(guān)于Python Selenium中英互譯的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python 實(shí)現(xiàn)rolling和apply函數(shù)的向下取值操作
這篇文章主要介紹了python 實(shí)現(xiàn)rolling和apply函數(shù)的向下取值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
pytorch模型預(yù)測(cè)結(jié)果與ndarray互轉(zhuǎn)方式
今天小編就為大家分享一篇pytorch模型預(yù)測(cè)結(jié)果與ndarray互轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python Flask實(shí)現(xiàn)多文件項(xiàng)目打包部署(Linux+Docker+Windows全環(huán)境)指南
針對(duì)多?.py?文件的 Flask 項(xiàng)目,本文在原有部署方案基礎(chǔ)上,補(bǔ)充多文件項(xiàng)目結(jié)構(gòu)規(guī)范、Windows 環(huán)境部署、跨平臺(tái)打包等核心內(nèi)容,有需要的小伙伴可以了解下2026-01-01
python虛擬環(huán)境多種創(chuàng)建方式圖文詳解
創(chuàng)建虛擬環(huán)境是為了讓項(xiàng)目運(yùn)行在一個(gè)獨(dú)立的局部的Python環(huán)境中,使得不同環(huán)境的項(xiàng)目互不干擾,這篇文章主要給大家介紹了關(guān)于python虛擬環(huán)境多種創(chuàng)建方式的相關(guān)資料,需要的朋友可以參考下2024-08-08
pytorch 計(jì)算Parameter和FLOP的操作
這篇文章主要介紹了pytorch 計(jì)算Parameter和FLOP的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
python神經(jīng)網(wǎng)絡(luò)tf.name_scope和tf.variable_scope函數(shù)區(qū)別
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)tf.name_scope和tf.variable_scope函數(shù)的使用區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

