Selenium是一个用于Web应用程序测试的工具。html
Selenium测试直接运行在浏览器中,就像真正的用户在操做同样。支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等。web
这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否可以很好得工做在不一样浏览器和操做系统之上。测试系统功能——建立回归测试检验软件功能和用户需求。chrome
而用在爬虫上则是模拟正经常使用户访问网页并获取数据。咱们能够利用它来模拟用户点击访问网站,绕过一些复杂的认证场景api
经过selenium + 驱动浏览器这种组合能够直接渲染解析js,绕过大部分的参数构造和反爬浏览器
注意事项:安全
新版本的Selenium已经不支持phantomis,原做者也已经放弃维护该项目了。工具
使用selenium驱动chrome浏览器须要下载chromedriver,并且chromedriver版本须要与chrome的版本对应,版本错误的话则会运行报错。测试
Chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html网站
Chromedriver与Chrome版本映射表:google
chromedriver版本 | 支持的Chrome版本 |
---|---|
v2.37 | v64-66 |
v2.36 | v63-65 |
v2.35 | v62-64 |
v2.34 | v61-63 |
v2.33 | v60-62 |
v2.32 | v59-61 |
v2.31 | v58-60 |
v2.30 | v58-60 |
v2.29 | v56-58 |
v2.28 | v55-57 |
v2.27 | v54-56 |
v2.26 | v53-55 |
v2.25 | v53-55 |
v2.24 | v52-54 |
v2.23 | v51-53 |
下载完成解压后,将文件移动至/usr/local/bin
目录中,则能够正常使用。
下载完成解压后,将文件移动到一个配置了环境变量的文件夹中,例如你的Python安装文件夹。
将解压的exe文件放在环境变量下是为了方便使用,若是不在环境变量中,还能够在代码里面声明驱动的位置。
可是为了方便项目部署的,或者为了方便容易打包,咱们能够将Chromedriver.exe放到咱们的项目目录中,
而后再初始化Chrome Webdriver对象时,传入chromedirver.exe的路径
以下所示:
from selenium import webdriver browser = webdriver.Chrome(executable_path='chromedriver.exe')
引号以内的就是路径,可根据本身文件的放置状况来填写
PhantomJS的安装
下载连接,下载好的压缩文件解压到环境变量中,建议解压到Python中,安全起见,将Phantomjs.exe文件复制一份放在Python3文件夹下。
Selenium
的安装很是简单,直接pip就能够搞定。
pip install selenium
如今运行一个空白页面的浏览器窗口
from selenium import webdriver from selenium.webdriver.chrome.options import Options # 实例化一个启动参数对象 chrome_options = Options() # 设置浏览器窗口大小 chrome_options.add_argument('--window-size=1366,768') # 启动浏览器 browser = webdriver.Chrome(chrome_options=chrome_options)
点击运行,就会自动弹出一个空白的浏览器窗口了
接下来,咱们再来尝试访问一下百度的首页面
from selenium import webdriver from selenium.webdriver.chrome.options import Options # 实例化一个启动参数对象 chrome_options = Options() # 设置浏览器窗口大小 chrome_options.add_argument('--window-size=1366,768') # 启动浏览器 browser = webdriver.Chrome(chrome_options=chrome_options) # 请求百度首页 browser.get('http://www.baidu.com')
这样程序点击运行,弹出的浏览器会自动转到百度的首页了
更加详细的内容,会在接下来的内容中讲到