Selenium介绍和Selenium WebDriver安装
前言:本来是打算在完成一阶段爬虫学习的时候再对此章节进行总结,但是因为在使用selenium模块的时候遇到了浏览器类型和webdriver的兼容性问题,在经过近1天的排列组合搭配后终将此问题解决,于是决定对selenium模块进行一次总结。
前置知识:
- Python爬虫
1. selenium是什么
- selenium中文网
- selenium 是
web自动化测试工具集
,包括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定位方法
- 具体webdriver的api可以参考
2. selenium安装
2.1 Python安装selenium
- 可以直接通过pip安装
# 如果有多版本,请自行修改对应的pip版本
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
2.2 安装对应浏览器版本驱动
- Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Edge、Chrome和 Firefox 中运行。而其他测试工具都不能覆盖如此多的平台。(这里我比较推荐使用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
- [][]