跳转到主要内容

用于捕获Web应用程序或网页屏幕截图的Python库

项目描述

Build Status Coverage Status Documentation Status PyPI version Python version

抓拍工具

用于捕获Web应用程序的Python库

良好实践

  • 任何代码添加都必须在你自己的分支中完成。你可以将其命名为 fl/what_this_branch_brings,其中 'f' 是你名字的第一个字母,'l' 是你姓氏的第一个字母。
  • 一个分支解决一个特定的问题。
  • 请编写详尽的测试。覆盖率不能降低。
  • 请在将代码推送到之前,将master分支合并到你的分支中,运行测试和检查,并纠正所有错误和警告。
  • 当你认为你已经完成时,可以发起一个拉取请求。

测试和检查

要开始测试和检查

第一次

  1. 安装 dockerdocker-compose
  2. 运行: docker-compose build,以创建所有所需的镜像。
  3. 要开始验证,运行: docker-compose up

当已经设置好时

你只需要运行 docker-compose up

要清理

  • 如果您想停止容器并删除由 up 命令创建的容器、网络、卷和镜像,请运行: docker-compose down
  • 如果您想删除所有镜像,请运行: docker rmi -f $(docker images -q)

编写新测试

  • 您必须使用 unittest
  • 您必须将您的测试文件放在 tests 文件夹中
  • 您必须使用以下命名模式命名您的测试文件: test_*.py

本地服务器

一个带有网页的服务器可以在以下地址使用: http://server:5000/index.htmlhttp://server:5000/other.html

用法

文档

文档在 这里 可用,在 readthedocs。

使用 django 的示例

服务器必须使用 --nothreading 和 --noreload 作为参数启动。

# views.py in a Django project
from django.http import HttpResponse

import asyncio

from screamshot import generate_bytes_img_prom

def home(request):
    loop = asyncio.get_event_loop()
    future = asyncio.Future()

    asyncio.ensure_future(
        generate_bytes_img_prom('https://www.google.fr', future))
    loop.run_until_complete(future)

    return HttpResponse(future.result(), content_type='image')

或使用已包装的函数

# views.py in a Django project
from django.http import HttpResponse

from screamshot import generate_bytes_img__django_wrap

def home(request):
    img = generate_bytes_img__django_wrap('https://www.google.fr')
    return HttpResponse(img, content_type='image')

使用 Gunicorn

使用 Gunicorn 时没有线程相关的问题,因此我们不需要使用 --nothreading 和 --noreload 参数。

变更日志

0.0.1

Screamshot 库的初始化

  1. init 文件
    • 作者
    • 版本
    • 全部
  2. 核心文件
    • 一个具有三个方法的 ScreenShot 对象
      • load,加载一个网页
      • screamshot,对已加载的页面进行截图
      • load_and_screamshot,加载一个网页并对其进行截图

0.1.0

  • 不再有 ScreenShot 对象,只有一个名为 generate_bytes_img 的函数,该函数接受一些参数并返回一个二进制 bytes 对象。

0.1.1

  • generate_bytes_img 不是一个同步函数,已添加 generate_bytes_img_prom
  • generate_bytes_img_prom 使用 asyncio.Future 对象

0.1.2

  • 现在有一个使用 Docker 的测试和验证工具

0.1.3

  • 添加 browser-manager 脚本
  • 添加 screamshot 脚本

0.1.4

  • 添加 serialize 函数
  • 添加 deserialize 函数

0.1.5

  • 添加 generate_bytes_img_django_wrap 函数

0.1.6

  • 模块现在可用

0.1.7

  • 浏览器端点保存在临时目录中

0.1.8

  • serialize 函数返回一个 dict 对象
  • deserialize 接收一个 dict 对象

0.1.9

  • 删除序列化函数
  • 添加一个 bytes_to_img 函数

0.1.10

  • generate_bytes_img_django_wrap 已重命名为 generate_bytes_img_wrap
  • 错误被处理

0.1.11

  • bytes_to_png 已重命名为 bytes_to_file
  • bytes_to_file 支持类型选择

0.1.12

  • 您现在可以使用 get_token 从另一个页面获取 http 标头
  • 并将这些标头存储在本地存储中

项目详情


下载文件

下载适用于您平台的项目文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源分布

screamshot-0.1.12.tar.gz (10.7 kB 查看哈希)

上传时间

构建分布

screamshot-0.1.12-py3-none-any.whl (19.7 kB 查看哈希)

上传于 Python 3

由以下支持