Selenium请求库
一 什么是Selenium
Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。
二 安装
1 安装Selenium:pip install Selenium
清华园镜像地址:https://pypi.tuna.tsinghua.edu.cn/simple
2 安装浏览器驱动:Chrome驱动文件下载:https://chromedriver.storage.googleapis.com/index.html?path=2.35/ 需要配置到path中
三 用法
1、驱动浏览器的两种方式
1)driver = webdriver.Chrome()
2)driver = webdriver.Chrome('path')
注:每次打开浏览器后都需要关闭driver.close()关闭浏览器
2、元素的获取
xpath语法:http://www.w3school.com.cn/xpath/xpath_syntax.asp
CSS 选择器:http://www.w3school.com.cn/cssref/css_selectors.asp
3、控制浏览器操作
4、鼠标事件:在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供
5、键盘事件:send_keys()
6、断言及等待
断言:不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较。这个比较的称之为断言。
元素等待:显式等待和隐式等待
显式等待:使WebdDriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutException)
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
driver:浏览器驱动
timeout:最长超时时间,默认以秒为单位
poll_frequency=0.5:检测的间隔(步长)时间,默认为0.5S
ignored_exceptions=None:超时后的异常信息,默认情况下抛NoSuchElementException异常
WebDriverWait()一般由until()或until_not()方法配合使用,下面是until()和until_not()方法的说明
until(method, message=‘’):调用该方法提供的驱动程序作为一个参数,直到返回值为True
until_not(method, message=‘’):调用该方法提供的驱动程序作为一个参数,直到返回值为False
隐式等待:提供一个等待时间,单位为秒,则等这个时间过去在去做其他操作。
implicitly_wait() 默认参数的单位为秒,implicitly_wait(10)设置等待时长为10秒。
7、多表单、窗口切换、警告框、下拉框、文件上传
frame/iframe标签
在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中。
未完待续。。。。。。。。。。。。。。。