Python爬虫——Selenium介绍和Selenium WebDriver安装


前言:本来是打算在完成一阶段爬虫学习的时候再对此章节进行总结,但是因为在使用selenium模块的时候遇到了浏览器类型和webdriver的兼容性问题,在经过近1天的排列组合搭配后终将此问题解决,于是决定对selenium模块进行一次总结。

前置知识:

  • Python爬虫

1. selenium是什么

  • selenium中文网
  • seleniumweb自动化测试工具集,包括IDE、Grid、RC(selenium 1.0)、WebDriver(selenium 2.0)等,其中就有包括模拟用户访问浏览器对web网站进行访问的模块,而在python中可以通过调用webdriver实现。不仅仅是python,也同时支持多种编程语言。而在python中可以利用selenium中的webdriver对浏览器进行交互,从而实现浏览器爬取网页内容的过程。
  • selenium IDE 是是firefox浏览器的一个插件。提供简单的脚本录制、编辑与回放功能。如果有需要的话可以自行下载Selenium IDE
  • WebDriver 这里可以理解为一套规范,在这套规范里定义客户端脚步与浏览器交互的协议。(例如下面通过webdriver调用浏览器进行爬虫,并通过id获取html中指定元素) ,在selenium2.0和以上的版本中才有此模块,webdriver模块用来替代selenium1.0 rc模块
from  selenium import webdriver    #导入python版的webdriver
browser = webdriver.Firefox() # 创建webdriver驱动
browser.get("url") # 调用浏览器获取url内容
browser.find_element_by_id("id")   #id定位方法

2. selenium安装

2.1 Python安装selenium

  • 可以直接通过pip安装
# 如果有多版本,请自行修改对应的pip版本
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

2.2 安装对应浏览器版本驱动

  • Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 WindowsLinuxMacintosh上的 Internet ExplorerEdgeChromeFirefox 中运行。而其他测试工具都不能覆盖如此多的平台。(这里我比较推荐使用FireFox或者Chrome)
  • 各种浏览器的使用方法和安装链接可以参考官网

firefox安装

  • Selenium对FireFox的兼容性是最好的,我也十分推荐大家使用FireFox,不仅仅是因为FireFox是一个多平台的浏览器,在服务器上Selenium也可以稳定的调用FireFox进行无界面的测试。
  • 传送门:Python爬虫——Selenium安装配置FireFox浏览器

chrome安装

  • Selenium对Chrome也有不逊色于FireFox的组件,但是并没有FireFox可以进行实时录制的IDE浏览器插件,但是也足够应付我们平时的爬虫需求(其实好像也用不到),如果对Chrome特别热爱的人可以参考此篇文章。
  • 传送门[][]

3. selenium使用常见错误总结

Message: XXX executable needs to be in PATH.

程序结束后忘记关闭webdriver !!

  • [][]

session not created: No matching capabilities found

  • [][]

ConnectionResetError 10054:‘远程主机强迫关闭了一个现有的连接。’

  • [][]

TypeError: ‘str’ object is not callable

  • [][]

参考文献

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章