当前位置: 代码网 > it编程>前端脚本>Python > Python利用Selenium实现简单的中英互译功能

Python利用Selenium实现简单的中英互译功能

2024年08月27日 Python 我要评论
1.环境配置安装chrome浏览器,并在 “关于 chrome” 界面获取版本信息下载与浏览器版本号相对应的chromedriver插件(点击跳转至下载界面),以“

1.环境配置 

安装chrome浏览器,并在 “关于 chrome” 界面获取版本信息

6b4aac24f2ab4529af3df4643192646a.png

下载与浏览器版本号相对应的chromedriver插件(点击跳转至下载界面),以“128.0.6613.84”的版本示例,实际上只需要标红的前3位版本号与浏览器相对应即可

f5642723079b40598d445fe1ef4d49b1.png

点击进去后选择与自己的电脑系统相对于的版本下载即可

fc023c02ae3648d9bd5083afe8f75bc8.png

安装selenium

pip install selenium

2.具体实现

导入selenium包

from selenium import webdriver
from selenium.webdriver.chrome.service import service
from selenium.webdriver.common.by import by
from time import sleep

指定chrome浏览器的绝对路径  (单引号内路径自行替换)

option.binary_location = '.\\google\\chrome\\application\\chrome.exe'

创建 webdriver 对象,指定chromedriver插件的路径,同时运行chrome浏览器  (单引号内路径自行替换)

wd = webdriver.chrome(service=service(r'.\chromedriver.exe'))

调用 webdriver 对象的get方法让浏览器打开百度翻译的网页

wd.get('https://fanyi.baidu.com/mtpe-individual/multimodal')

这时,需要我们手动在浏览器中打开百度翻译网页,通过审查元素的方式分别获取到输入区域和输出区域的class值,具体操作见视频(点击跳转至视频)

输入区域:kxqpwtof

输出区域:u4hefbcz

读取用户输入的需要翻译的内容,再利用class值获取输入区域,将该内容发送到输入区域中

#读取用户输入的需要翻译的内容
input_txt = input()
#利用class值获取输入区域
input1 = wd.find_element(by.class_name, "kxqpwtof")
#将需要翻译的内容发送到输入区域中
input1.send_keys(f"{input_txt}")

利用class值获取输出区域,并将输出区域中翻译好的文本打印到终端中

#利用class值获取输出区域
output1 = wd.find_element(by.class_name, "u4hefbcz")
#将翻译好的内容打印出来
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)
 
#以防浏览器还未打开就执行打开百度翻译网页的代码从而出现错误,这里停顿1s
sleep(1)
 
#提示一次浏览器已经加载好了可以开始输入了
print("程序加载完成!\n")
 
#设置个循环,多次反复翻译
while 1:
    #将跳转页面的代码放在循环中,每次翻译完后重新加载页面,清空上一次的内容
    wd.get('https://fanyi.baidu.com/mtpe-individual/multimodal')
    
    #读取用户输入的需要翻译的内容
    input_txt = input()
    #利用class值获取输入区域
    input1 = wd.find_element(by.class_name, "kxqpwtof")
    #将需要翻译的内容发送到输入区域中
    input1.send_keys(f"{input_txt}")
 
    #等待1.5s,防止还未翻译完成就开始读取输出区域的内容从而输出空白内容
    sleep(1.5)
    
    #利用class值获取输出区域
    output1 = wd.find_element(by.class_name, "u4hefbcz")
    #将翻译好的内容打印出来
    print(output1.text)
 
    #打印分割线,起个美观的作用
    #print('-' * 50)

4.效果展示

d6b63ffde32a4e5b9bff985859182274.png

以上就是python利用selenium实现简单的中英互译功能的详细内容,更多关于python selenium中英互译的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com