翼度科技»论坛 编程开发 python 查看内容

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

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
1.环境配置

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

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

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

安装Selenium
  1. pip install selenium
复制代码
2.具体实现

导入Selenium包
  1. from selenium import webdriver
  2. from selenium.webdriver.chrome.service import Service
  3. from selenium.webdriver.common.by import By
  4. from time import sleep
复制代码
指定Chrome浏览器的绝对路径  (单引号内路径自行替换)
  1. option.binary_location = '.\\Google\\Chrome\\Application\\chrome.exe'
复制代码
创建 WebDriver 对象,指定ChromeDriver插件的路径,同时运行Chrome浏览器  (单引号内路径自行替换)
  1. wd = webdriver.Chrome(service=Service(r'.\chromedriver.exe'))
复制代码
调用 WebDriver 对象的get方法让浏览器打开百度翻译的网页
  1. wd.get('https://fanyi.baidu.com/mtpe-individual/multimodal')
复制代码
这时,需要我们手动在浏览器中打开百度翻译网页,通过审查元素的方式分别获取到输入区域和输出区域的Class值,具体操作见视频(点击跳转至视频)
输入区域:kXQpwTof
输出区域:u4heFBcZ
读取用户输入的需要翻译的内容,再利用Class值获取输入区域,将该内容发送到输入区域中
  1. #读取用户输入的需要翻译的内容
  2. input_txt = input()
  3. #利用Class值获取输入区域
  4. input1 = wd.find_element(By.CLASS_NAME, "kXQpwTof")
  5. #将需要翻译的内容发送到输入区域中
  6. input1.send_keys(f"{input_txt}")
复制代码
利用Class值获取输出区域,并将输出区域中翻译好的文本打印到终端中
  1. #利用Class值获取输出区域
  2. output1 = wd.find_element(By.CLASS_NAME, "u4heFBcZ")
  3. #将翻译好的内容打印出来
  4. print(output1.text)
复制代码
3.最终代码
  1. from selenium import webdriver
  2. from selenium.webdriver.chrome.service import Service
  3. from selenium.webdriver.common.by import By
  4. 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) #以防浏览器还未打开就执行打开百度翻译网页的代码从而出现错误,这里停顿1ssleep(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.效果展示


以上就是Python利用Selenium实现简单的中英互译功能的详细内容,更多关于Python Selenium中英互译的资料请关注脚本之家其它相关文章!

来源:https://www.jb51.net/python/3265418iu.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具