Py学习  »  Python

Python splinter 除了运维测试还可以干什么?

Python数据采集处理分析挖掘可视化应用实例 • 5 年前 • 244 次点击  

早上有点闲,在github瞎溜达,想看看Flask最新开元的代码都用在哪些方面。结果发现了:DU_Coding_PR02_JobVizzy_flask_python_MongoDB_JavaScript_Plotly_BeautifulSoup-master

从这个master得标题来看,除了使用Bokeh实现数据可视化与他不同,其他的我们玩的都差不多,于是顺手下载了源码,打开学习一下。也就发现了Python splinter。

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

安装需要selenium依赖以及chrome的驱动。

执行命令 :

pip install splinter

from splinter.browser import Browser
browser = Browser(driver_name='chrome')
browser.visit('https://www.hao123.com')


【原文】Python splinter 环境搭建


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/2u5reONLey
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/28386
 
244 次点击