简介
selenium 是一个用于Web应用程序测试的工具测试直接运行在浏览器中,就像真正的用户在操作一样,一般用于测试在浏览器和系统之间的兼容性。是所有可使用工具中的适用范围最广的技术之一。
Supported浏览器
Edge,Firefox,Safari,Google Chrome等等
形象化的执行过程
Selenium模仿真正用户的操作,如打开浏览器,跳转指定url,查看指定数据等
简要实际执行过程
- 驱动浏览器
- 根据代码中设定的url,进行跳转并加载内容
- 当然可以插入点击,输入查询内容等操作
- 爬取并分析数据
selenium安装教程
按照我装入的Edge驱动为例:
- 首先查看自己的Edge的版本号(点进浏览器的设置中查看即可)
- 点击此链接,进入官网下载 注意下载版本号一致的WebDriver,否则出现异常
- 下载完成之后,只描述下载的是exe文件操作
将下载的exe文件复制进入python 中的Scripts文件夹下即可安装完毕
样例使用
import csv
from selenium import webdriver
base_url = "https://ncov.dxy.cn/ncovh5/view/pneumonia" # 访问的地址
driver = webdriver.Edge() # 驱动浏览器
driver.implicitly_wait(3) # 隐式等待时间
# 隐形等待是设置了一个最长等待时间,如果在规定时间内网页加载完成,
# 则执行下一步,否则一直等到时间截止,然后执行下一步
driver.get(base_url) # 加载指定地址页面
测试结果
爬取的内容提取
使用scrapy的频率多了,当然首选xpath方法。
举一个方法使用,使用循环提取列表内容
类似如下使用即可:
for each in driver.find_elements_by_xpath("/html/body/div[3]/"):
country = each.find_element_by_xpath("div/div[1]").text # 此处是提取文本信息
# 注意此处使用方法和scrapy的稍微不同之处,text不能放在xpath里面
使用上述方法进行代码填充爬取的结果示例
此爬取的网址不是上述代码所述网址
爬取后提取到csv文件的内容