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

 更新时间:2024年08月27日 09:31:45   作者:aaaaac_  
Selenium 是一个用于 Web 应用程序测试的工具,最初是为网站自动化测试而开发的,可以直接运行在浏览器上,是 Python 的一个第三方库,对外提供的接口能够操作浏览器,从而让浏览器完成自动化的操作,本文介绍了如何利用Python中的Selenium实现简单的中英互译

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中英互译的资料请关注脚本之家其它相关文章!

相关文章

  • 使用python实现UDP通信方式

    使用python实现UDP通信方式

    这篇文章主要介绍了使用python实现UDP通信方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • python并发执行request请求的示例

    python并发执行request请求的示例

    这篇文章主要介绍了python并发执行request请求,我将为我们展示使用concurrent.futures.ThreadPoolExecutor和requests库并发执行HTTP请求的示例,需要的朋友可以参考下
    2024-06-06
  • python使用OpenCV获取高动态范围成像HDR

    python使用OpenCV获取高动态范围成像HDR

    这篇文章主要介绍了python使用OpenCV获取高动态范围成像HDR,如何使用不同曝光设置拍摄的多张图像创建高动态范围图像HDR,下文吗更详细的内容介绍,需要的小伙伴可以参考一下
    2022-04-04
  • Django添加bootstrap框架时无法加载静态文件的解决方式

    Django添加bootstrap框架时无法加载静态文件的解决方式

    这篇文章主要介绍了Django添加bootstrap框架时无法加载静态文件的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 用Python实现Newton插值法

    用Python实现Newton插值法

    最近在做数值分析的作业,作业里面的小数点让计算能力本就薄弱的我雪上加霜,为了偷个小懒快速把作业完成,所以有了这篇博客。哈哈哈哈哈,让我们一起复制copy,完成作业,哈哈哈哈需要的朋友可以参考下
    2021-04-04
  • 基于Python中isfile函数和isdir函数使用详解

    基于Python中isfile函数和isdir函数使用详解

    今天小编就为大家分享一篇基于Python中isfile函数和isdir函数使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python更新所有安装的包的实现方式

    Python更新所有安装的包的实现方式

    这篇文章主要介绍了Python更新所有安装的包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Python大批量搜索引擎图像爬虫工具详解

    Python大批量搜索引擎图像爬虫工具详解

    这篇文章主要介绍了Python大批量搜索引擎图像爬虫工具,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Python openpyxl模块学习之轻松玩转Excel

    Python openpyxl模块学习之轻松玩转Excel

    Python提供了许多操作Excel的模块,能够让我们从繁琐的工作中腾出双手。本文主要为大家介绍的是openpyxl模块,它的功能相对与其他模块更为齐全,感兴趣的小伙伴快来学习一下吧
    2021-12-12
  • 彻彻底底地理解Python中的编码问题

    彻彻底底地理解Python中的编码问题

    Python处理文本的功能非常强大,但是如果是初学者,没有搞清楚python中的编码机制,也经常会遇到乱码或者decode error。本文的目的是简明扼要地说明python的编码机制,并给出一些建议,需要的朋友可以参考下
    2018-10-10

最新评论