Selenium库介绍

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。
Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。
selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。
这里要说一下比较重要的PhantomJS,PhantomJS是一个而基于WebKit的服务端JavaScript API,支持Web而不需要浏览器支持,其快速、原生支持各种Web标准:Dom处理,CSS选择器,JSON等等。PhantomJS可以用用于页面自动化、网络监测、网页截屏,以及无界面测试
Selenium + PhantomJs 足以我们用来应对动态网页。而需要注意的是,Selenium提示PhantomJS被标记不赞成,该项目因为活跃度和其他种种原因开发者暂时停止开发维护。PhantomJS可是Headless浏览器中相当知名的一款,标记为过时,代表着将在未来版本摒弃掉这个支持。如果需要长期打算,也可以去学习Chrome的无头浏览器,只是配置上有些许的麻烦。

安装方法

这里我使用的是Deepin操作系统,Python3自带的pip3做安装。

Selenium在Python库中已经有包含,给予管理权限使用pip安装即可。

相关

当然,Selenium需要配合phantomjs才能发挥出其作用。安装phantomjs的方法参见:《Linux下怎样为Python安装PhantomJs》,而需要注意的是,直接按照上述方法安装的selenium,将会是最新版本,不能支持phantomjs(谷歌和火狐的无头驱动是支持的)。

解决方案

由于弃更的缘故,我们想要使用以上两者结合做爬虫,只能降级安装selenium了。如果你已经安装了最新的selenium,调用phantomjs将会报错。

解决方案一:卸载新版selenium,安装旧版本selenium,旧版功能上已经够用的了。

卸载:
sudo pip3 uninstall selenium
安装旧版:
sudo pip3 install selenium==2.48.0
搞定!

解决方案二:安装谷歌或火狐的无头浏览器并下载对应的驱动。详见《Python3安装谷歌Chrome无头浏览器》

建议不想折腾的同学按照方案一进行,但是安装谷歌驱动是最好的长期选择。