0


selenium爬取有道翻译

什么是selenium?

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。

如何使用和安装浏览器驱动?

第一步:可以到pycharm的环境下到终端去pip install selenium即可安装,也可到cmd中做。

第二步: 安装浏览器驱动需要查看自己浏览器的版本号对应下载

**Version:

120.0.6099.109

(

r1217362

)稳定版本驱动包的地址,可以直接下载,不需要翻墙:**

win32:https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.109/win32/chromedriver-win32.zip

win64: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.109/win64/chromedriver-win64.zip

liunux64: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.109/linux64/chromedriver-linux64.zip

mac-x64: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.109/mac-x64/chromedriver-mac-x64.zip

mac-arm64: https://edgedl.me.gvt1.com/edge

这是谷歌浏览器最新版本的驱动下载

第三步给浏览器驱动配置环境变量

设置浏览器的环境变量,手动创建一个存放浏览器驱动的目录,如D:\apk\chromedriver,将下载的浏览器驱动文件(如chromdriver、chrom、geckodriver)放到该目录下。如果是Linux系统把下载的文件放在/user/bin目录下就可以。

设置【我的电脑】【属性】【系统设置】【高级设置】【环境变量】然后创建系统变量为path将路径配置到path值中,如下图所示:

第四步在pycharm中执行下列代码,测试Chrome浏览器驱动安装是否成功。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")

可能会出先闪退可以在最后加上

if input("1"):
    driver.quit()

控制关闭程序

下面是爬取有道翻译的代码(带注释解析):

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

# 创建一个Chrome浏览器实例
driver = webdriver.Chrome()

# 打开有道翻译网站
driver.get('https://fanyi.youdao.com/index.html#/')

# 等待页面加载完成,直到找到指定的元素
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, '/html/body/div[5]/div/img[2]'))
)

# 点击该元素
element.click()
# 定位输入框并获取其引用

ssk = driver.find_element(By.ID,'js_fanyi_input')

# 从用户那里获取要翻译的内容
translate = input('请输入翻译内容:')

# 将翻译内容输入到输入框中
ssk.send_keys(translate)

# 等待一段时间以便翻译结果加载完成
time.sleep(5)

# 定位翻译结果并获取其文本内容
wenben = driver.find_element(By.XPATH,'//*[@id="js_fanyi_output_resultOutput"]/p/span')
print(f'输入内容:{translate},翻译结果:',wenben.text)

# 询问用户是否退出程序
if input("1"):
    driver.quit()

下面是实现效果:

代码可以直接复制

如果有啥问题可以问我看到一定会回复大家,如果大家喜欢可以作者点赞和关注

大家的支持是我创作下去的最大动力!


本文转载自: https://blog.csdn.net/yuwenduo123/article/details/135406058
版权归原作者 yuwenduo123 所有, 如有侵权,请联系我们删除。

“selenium爬取有道翻译”的评论:

还没有评论