Splinter 是一个使用Python开发的开源web应用测试程序,它能够帮助咱们实现自动浏览站点和与其进行交互。它是依赖于其它python插件或拓展进行的,因此咱们使用它以前须要安装一系列的依赖包。css
依赖包 Splinter0.7.2依赖如下包: Selenium(版本>=2.44.0) Django(版本>=1.5.8,<1.7) Flask(版本>=0.10) lxml(版本>=2.3.6) zope.testbrowser(版本>=4.0.4) cssselect
当咱们控制浏览器时还须要下载一些浏览器的driver,并要将这些driver的路径添加到环境变量中,咱们才能随便的使用它们。html
splinter经常使用的一些命令python
定位元素: browser.find_by_css('h1') browser.find_by_tag('h1') browser.find_by_name('name') browser.find_by_id('firstheader') browser.find_by_value('fquery')
browser.find_by_xpath('//h1')
browser.find_element_by_XXX() # element 表示定位的是单个
browser.find_elements_by_XXX() # elements 表示定位的是多个,不能直接进行操做
html控件应用:
test单行文本框、testarea多行文本框:用于填充事件
select下拉框:用于选择事件
radio单选框:用于单选事件
button按钮:用于点击事件
checkbox复选框:用于复选事件
a超连接:用于跳转事件
经常使用的操做命令:
click 点击
submit 提交表单
fill 一次性填充
choose 单选
type 键入式填充
clear 清除元素的内容
send_keys 在元素上模拟按键输入
mouse_over 鼠标指针位于元素上方的事件
mouse_out 鼠标指针位于元素下方的事件
使用事例:web
from splinter import Browser b = Browser('chrome') #使用谷歌浏览器,若是省略了传入的字符串,则默认使用firefox url = "http://www.baidu.com" #控制浏览器进入的站点 b.visit(url) b.fill('q', 'splinter - python acceptance testing for web applications') #使用splinter向站点中填充一个内容 button = browser.find_by_name('btnG') #获取站点中的按钮 button.click() #单击按钮提交填充的数据 if browser.is_text_present('splinter.readthedocs.org'): #判断是否存在这个字符串 print "Yes, the official website was found!" else: print "No, it wasn't found... We need to improve our SEO techniques"
from splinter.browser import Browser from time import sleep b = Browser() b.visit("http://www.baidu.com") print(u'稍后进行查找') time.sleep(8) b.find_by_id('kw').fill("splinter") b.find_by_id('su').click() print(u'查找结束') time.sleep(10) b.quit()