今天无意间看到了splinter。

Splinter是一个使用Python开发的开源Web应用测试工具。它可以帮你实现自动浏览站点和与其进行交互。

Splinter对已有的自动化工具(如:Selenium、PhantomJS和zope.testbrowser)进行抽象,形成一个全新的上层应用API,它使为Web应用编写自动化测试脚本变的更容易。

依赖包

编辑

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
 

代码示例

使用示例

from splinter import Browser
with Browser() as browser:
# Visit URL
url = "搜索引擎"
browser.visit(url)
browser.fill('q', 'splinter - python acceptance testing for web applications')
# Find and click the 'search' button
button = browser.find_by_name('btnG')
# Interact with elements
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"

与Selenium的比较

使用Splinter填充一个form的字段如下:
browser.fill('username', 'janedoe')
 
而使用Selenium需要:
elem = browser.find_element.by_name('username')
elem.send_keys('janedoe')

安装 Splinter

执行命令

pip install splinter

因为我之前已经安装了selenium以及chrome的驱动,所以这里就不再介绍,不懂得百度一下吧。

代码示例

# FileName : SplinterDemo.py
# Author : Adil
# DateTime : 2018/1/16 20:59
# SoftWare : PyCharm from splinter.browser import Browser
browser = Browser(driver_name='chrome')
browser.visit('https://www.hao123.com')

效果如下:

最新文章

  1. 51Nod-1136 欧拉函数
  2. AngularJs2 学习之路-笔记1-Atscript Ts ES6包含关系
  3. C#删除程序自身【总结】
  4. python urllib2 发起http请求post
  5. 分享git的常用命令
  6. Runtime的用法
  7. saltstack配置安装的一些关键步骤及安装时各种报错的分析
  8. Dynamices CRM JS 类库 神器 XrmServiceToolkit - A Microsoft Dynamics CRM 2011 &amp; CRM 2013 JavaScript Library
  9. LaTeX使用titlesec宏包改变章节编号形式的方法
  10. c++实现二分查找
  11. 学习笔记TF061:分布式TensorFlow,分布式原理、最佳实践
  12. jacascript DOM节点——节点获取与选择器API
  13. JVM-高效并发
  14. 3.24网络攻防选拔题部分write up
  15. 使用AtomicLong,经典银行账户问题
  16. c# datatable 分组
  17. 蓝桥杯  历届试题 剪格子  dfs
  18. URL传值乱码问题。(已解决)
  19. 自学Linux Shell18.3-sed实用工具
  20. POJ 3388 Japanese Puzzle (二分)

热门文章

  1. 抓取awr、语句级awr、ashrpt
  2. centos/rhel 7 几个最重要变化(systemd,firewalld,networkmanager,文件系统)
  3. Nginx入门简介
  4. redhat7.4+shell离线安装docker
  5. Error: php71w-common conflicts with php-common-5.4.16-46.el7.x86_64
  6. 16 级高代 II 思考题十的多种证明
  7. Python3 tkinter基础 Checkbutton anchor for生成多个控件并西对齐
  8. Docker 使用Dockerfile构建tomcat镜像
  9. 抠图|计蒜客2019蓝桥杯省赛 B 组模拟赛(一)
  10. (转)开源项目t-io