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方法讓瀏覽器打開(kāi)百度翻譯的網(wǎng)頁(yè)
wd.get('https://fanyi.baidu.com/mtpe-individual/multimodal')
這時(shí),需要我們手動(dòng)在瀏覽器中打開(kāi)百度翻譯網(wǎng)頁(yè),通過(guò)審查元素的方式分別獲取到輸入?yún)^(qū)域和輸出區(qū)域的Class值,具體操作見(jiàn)視頻(點(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)容打印出來(lá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) #以防瀏覽器還未打開(kāi)就執(zhí)行打開(kāi)百度翻譯網(wǎng)頁(yè)的代碼從而出現(xiàn)錯(cuò)誤,這里停頓1s sleep(1) #提示一次瀏覽器已經(jīng)加載好了可以開(kāi)始輸入了 print("程序加載完成!\n") #設(shè)置個(gè)循環(huán),多次反復(fù)翻譯 while 1: #將跳轉(zhuǎn)頁(yè)面的代碼放在循環(huán)中,每次翻譯完后重新加載頁(yè)面,清空上一次的內(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,防止還未翻譯完成就開(kāi)始讀取輸出區(qū)域的內(nèi)容從而輸出空白內(nèi)容 sleep(1.5) #利用Class值獲取輸出區(qū)域 output1 = wd.find_element(By.CLASS_NAME, "u4heFBcZ") #將翻譯好的內(nèi)容打印出來(lá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讀取并繪制nc數(shù)據(jù)的保姆級(jí)教程
其實(shí)目前很多數(shù)據(jù)以nc格式存儲(chǔ),這篇文章主要給大家介紹了關(guān)于python讀取并繪制nc數(shù)據(jù)的保姆級(jí)教程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05Python編程調(diào)用百度API實(shí)現(xiàn)地理位置經(jīng)緯度坐標(biāo)轉(zhuǎn)換示例
這篇文章主要介紹了Python編程調(diào)用百度API來(lái)實(shí)現(xiàn)地理位置經(jīng)緯度坐標(biāo)轉(zhuǎn)換的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10解決python報(bào)錯(cuò)MemoryError的問(wèn)題
今天小編就為大家分享一篇解決python報(bào)錯(cuò)MemoryError的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06Python利用selenium建立代理ip池訪問(wèn)網(wǎng)站的全過(guò)程
selenium控制瀏覽器也是可以使用代理ip的,下面這篇文章主要給大家介紹了關(guān)于Python利用selenium建立代理ip池訪問(wèn)網(wǎng)站的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03