目录
selenium的介绍
1、 selenium是什么?
2、selenium的工作原理
3、如何使用selenium?
webdriver浏览器驱动设置
关键步骤
代码
运行结果
注意事项
用于Web应用程序测试的工具。可以驱动浏览器执行特定操作,自动按照脚本
代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样。
支持的浏览器包括IE,Firefox,Safari,Chrome,Opera等。
浏览器具有webdriver驱动,这个驱动是根据不同的浏览器开发的,
不同的浏览器使用不同的webdriver驱动程序且需要对应相应的浏览器版本,
webdriver驱动程序可以通过浏览器内核控制浏览执行指定命令
使用前准备: a、安装selenium库 b、驱动浏览器的内核驱动
a、安装selenium,使用pip install selenium -i pypi.mirrors.ustc.edu/simple/
或在pycharm中安装
b、chrome内核驱动地址 360浏览器使用的就是chrome的内核,QQ浏览器使用IE,IE,
leapis/index.html
首先确定你的浏览器是使用哪个内核??
windows系统:下载下来的文件解压后放置在python安装地址的Scripts中
Linux和Mac系统:同上,注意:系统存在2个Python版本,确定当前运行的python
版本配置在环境变量中
爬取苏宁易购平台某款产品的优质评论与差评
webdriver具备多种不同浏览器的驱动,
browser = webdriver.Chrome()
browser = webdriver.Firefox()
browser = webdriver.Edge()
browser = webdriver.PhantomJS()
browser= webdriver.Safari()
其中.chrome.webdriver import WebDriver as Chrome定义了别名,Chrome代表WebDriver
初始化浏览器驱动:
selenium
的 Options
对象配置 Edge 浏览器,例如可以设置无界面模式。webdriver.Edge
,启动浏览器。抓取优质评价:
find_elements
查找所有评价内容,并将其保存到文件 优质评价1.txt
。抓取差评:
find_elements
查找所有差评内容,并将其保存到文件 差评.txt
。关闭浏览器:
driver.quit()
关闭浏览器。from selenium import webdriver
from selenium.webdriver.edge.options import Options
from selenium.webdrivermon.by import By
import time
# 创建 Edge 浏览器选项对象
options = Options()
# 在这里可以添加各种选项,例如:
# options.add_argument('--headless') # 无界面模式
# 使用修改后的参数传递方式初始化 Edge 浏览器驱动
driver = webdriver.Edge(options=options)
# 抓取优质评价
('review.suning/cluster_cmmdty_review/cluster-38249278-000000012389328846-0000000000-1-good.htm?originalCmmdtyType=general&safp=d488778a.10004.loverRight.166')
# 打开文件,用于保存优质评价内容
yzpj_file = open('优质评价1.txt', 'w', encoding='utf-8')
def get_py_content(file):
# 查找所有包含评价内容的元素
pj_elements_content = driver.find_elements(By.CLASS_NAME, 'body-content')
# 遍历每个元素,将文本内容写入文件
for i in range(len(pj_elements_content)):
file.write(pj_elements_content[i].text + 'n')
# 获取第一页的评论内容
get_py_content(yzpj_file)
# 查找下一页按钮
next_elements = driver.find_elements(By.XPATH, '//*[@class="next rv-maidian "]')
print(next_elements)
# 循环点击下一页,获取所有页的评论内容
while next_elements:
next_element = next_elements[0]
time.sleep(1) # 等待页面加载
next_element.click() # 点击下一页
get_py_content(yzpj_file) # 获取当前页的评论内容
next_elements = driver.find_elements(By.XPATH, '//*[@class="next rv-maidian "]') # 重新查找下一页按钮
# 关闭优质评价文件
yzpj_file.close()
# 抓取差评
('review.suning/cluster_cmmdty_review/cluster-38249278-000000012389328846-0000000000-1-bad.htm?originalCmmdtyType=general&safp=d488778a.10004.loverRight.166')
# 打开文件,用于保存差评内容
cpj_file = open('差评.txt', 'w', encoding='utf-8')
def get_cp_content(file):
# 查找所有包含差评内容的元素
pj_elements_content = driver.find_elements(By.CLASS_NAME, 'body-content')
# 遍历每个元素,将文本内容写入文件
for i in range(len(pj_elements_content)):
file.write(pj_elements_content[i].text + 'n')
# 获取第一页的差评内容
get_cp_content(cpj_file)
# 查找下一页按钮
next_elements = driver.find_elements(By.XPATH, '//*[@class="next rv-maidian "]')
print(next_elements)
# 循环点击下一页,获取所有页的差评内容
while next_elements:
next_element = next_elements[0]
time.sleep(2) # 等待页面加载
next_element.click() # 点击下一页
get_cp_content(cpj_file) # 获取当前页的差评内容
next_elements = driver.find_elements(By.XPATH, '//*[@class="next rv-maidian "]') # 重新查找下一页按钮
# 关闭差评文件
cpj_file.close()
# 关闭浏览器
driver.quit()
1)优质评价
2)差评
浏览器驱动:
网页动态加载:
time.sleep()
等待页面加载,避免因页面未完全加载而导致错误。文件编码:
encoding='utf-8'
,避免写入内容时出现乱码。XPath 定位:
XPath
表达式正确,能够定位到“下一页”按钮。如果网页结构发生变化,需要调整 XPath
。无界面模式:
options.add_argument('--headless')
。本文发布于:2025-03-04 10:01:00,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1741053702581196.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |