一、selenium简介
Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。
Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行selenium1.0程序之前,需要先启动selenium server端(selenium remote control),简称RC。RC主要包括三个部分:launcher,http proxy,selenium core。其中selenium core是被selenium server嵌入到浏览器页面中的,selenium core内部是一堆javascript函数构成,通过调用这些函数来实现对浏览器的各种操作。很显然比较繁琐,这并不是最佳自动化解决方案,于是后来有了webdriver。
selenium2 的时代合并了webdriver,也就是通常说的selenium,selenium2是默认支持Firefox浏览器的,这点非常方便。当然也支持其他更多浏览器,IE和Chrome浏览器需要下载驱动包,并添加到环境变量下。
selenium3 是2016年十月份左右出来的,并且现在默认安装都是selenium3了,selenium3在selenium2的基础上做了一些调整,最明显的区别就是 selenium2对Firefox的支持最高只支持46及以下版本。selenium3可以支持47以上版本,但是需要下载geckodriver.exe驱动,并添加到环境变量path下。
鉴于selenium3中诸多问题,环境配置使用selenium2。
环境安装自不用多说,安装完成后(这里安装在C:\Python27),将目录:C:\Python27和C:\Python27\Scripts 加入到环境变量path中。
正确安装后,C:\Python27\Scripts目录下存在pip.exe和easy_install.exe,这样就加入到path中了
二、安装selenium2
使用命令:pip install selenium==2.53.6
#coding:utf-8
'''上海悠悠selenium-5'''
from selenium import webdriver
import time
#打开浏览器
driver = webdriver.Firefox()
#打开百度
driver.get('http://www.baidu.com')
#页面加载需要几秒钟的时间
time.sleep(2)
driver.get("http://www.cnblogs.com/yoyoketang/p/6123834.html")
time.sleep(2)
#返回上一页,浏览器上的回退
driver.back()
time.sleep(2)
driver.forward()
driver.set_window_rect(540,960)
time.sleep(2)
driver.maximize_window()
#页面刷新
driver.refresh()
driver.quit()
'geckodriver' executable needs to be in PATH 表明 geckodriver驱动需要添加到环境变量path中,因为selenium2默认支持 Firefox()的,不需要驱动包,但是selenium3 需要驱动包的支持,因此这也正是为什么在安装selenium2中出现了selenium3的从而导致脚本运行失败。
从而有两种方法:1、继续使用selenium3,并下载驱动包,同时添加到环境变量中
2、selenium3降到selenium2
至于如何降到selenium2中,通过查询版本信息:
由于python第三方包的安装目录为:C:\Python27\Lib\site-packages,如果上述查询结果为3.*.*,则删除该目录下的
由于这里已经是selenium2,所以无需删除。如果是selemnium3,需要进行删除,之后进行pip安装。
此外由于selenium只兼容Firefox.47版本以下的,因此如果是Firefox浏览器时要主要,同时安装之后需要关闭自动更新的选项。这里给出Firefox()浏览器的地址Firefox.