自动化测试工具selenium在爬虫中的应用
1° selenium简介
Selenium是一款开源的Web的自动化测试工具,类型有点像玩游戏的“按键精灵”,最初是为网站自动化测试而开发的,后来被大家用来做爬虫,它可以按照指定的命令自动操作,selenium可以直接运行在浏览器上,它支持所有主流的浏览器(Chrome,Firefox,IE,Opera,Safari)也包括PhantomJS这些无界面的浏览器。同时需要知道的是selenium不单单指一个工具,它是一系列工具的总称,它支持多种编程语言,可以运行在多个平台上。
用selenium可以解决爬虫中比较棘手的问题,比如JavaScript动态网页的抓取,模拟用户输入文字,还有网页元素的点击等,个人比较喜欢采用selenium+webdriver+python的组合,这个组合也被称为爬虫无敌三件套,对于常见的网站来说,这个组合足够抓取到我们想要的任何数据了,下面就selenium和webdriver的一些基础操作进行分析:
2° 安装selenium
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
3° chromedriver下载地址
http://chromedriver.storage.googleapis.com/index.html
下载成功后,需要将其添加到path环境变量中,或者放在当前python对应的.exe文件下即可使用。
4° 例1—基础
from selenium import webdriver
driver = webdriver.Chrome() # 构建浏览器
driver.get("http://www.baidu.com") # 访问百度首页
print(driver.page_source) # 打印网页源码
driver.close() # 关闭浏览器
5° 例2—定位方法
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.taobao.com")
a = driver.find_element_by_id("q") # 寻找id为q的元素
b = driver.find_element_by_css_selector("#q") # 通过css选择器访问元素
c = driver.find_element_by_xpat