playwright-ez 2.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- playwright_ez-2.2.0/PKG-INFO +136 -0
- playwright_ez-2.2.0/README.md +117 -0
- playwright_ez-2.2.0/pyproject.toml +46 -0
- playwright_ez-2.2.0/setup.cfg +4 -0
- playwright_ez-2.2.0/src/playwright_ez/__init__.py +678 -0
- playwright_ez-2.2.0/src/playwright_ez/advanced.py +503 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/__init__.py +76 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/analyzer.py +366 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/engine/__init__.py +14 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/engine/base.py +66 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/engine/hybrid_engine.py +286 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/engine/rule_engine.py +332 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/finder.py +259 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/healer.py +182 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/helper.py +212 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/llm/__init__.py +24 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/llm/base.py +44 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/llm/claude.py +75 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/llm/custom.py +52 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/llm/factory.py +43 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/llm/ollama.py +78 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/llm/openai.py +80 -0
- playwright_ez-2.2.0/src/playwright_ez/ai/types.py +86 -0
- playwright_ez-2.2.0/src/playwright_ez/anti_detection.py +316 -0
- playwright_ez-2.2.0/src/playwright_ez/api.py +645 -0
- playwright_ez-2.2.0/src/playwright_ez/assertions.py +380 -0
- playwright_ez-2.2.0/src/playwright_ez/automation/__init__.py +62 -0
- playwright_ez-2.2.0/src/playwright_ez/automation/drag_drop.py +493 -0
- playwright_ez-2.2.0/src/playwright_ez/automation/file_manager.py +459 -0
- playwright_ez-2.2.0/src/playwright_ez/automation/iframe_manager.py +347 -0
- playwright_ez-2.2.0/src/playwright_ez/automation/infinite_scroll.py +298 -0
- playwright_ez-2.2.0/src/playwright_ez/automation/pagination_navigator.py +372 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/__init__.py +50 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/accessors.py +208 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/core.py +159 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/mixins/__init__.py +18 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/mixins/batch.py +106 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/mixins/elements.py +280 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/mixins/navigation.py +73 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/mixins/properties.py +359 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/mixins/tab_manager.py +118 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/mixins/window.py +160 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/tab.py +17 -0
- playwright_ez-2.2.0/src/playwright_ez/browser/types.py +17 -0
- playwright_ez-2.2.0/src/playwright_ez/browser.py +26 -0
- playwright_ez-2.2.0/src/playwright_ez/browser_helpers/__init__.py +28 -0
- playwright_ez-2.2.0/src/playwright_ez/browser_helpers/automation.py +119 -0
- playwright_ez-2.2.0/src/playwright_ez/browser_helpers/diagnostics.py +112 -0
- playwright_ez-2.2.0/src/playwright_ez/browser_helpers/monitoring.py +47 -0
- playwright_ez-2.2.0/src/playwright_ez/browser_helpers/scraper.py +127 -0
- playwright_ez-2.2.0/src/playwright_ez/browser_helpers/security.py +95 -0
- playwright_ez-2.2.0/src/playwright_ez/browser_helpers/test.py +150 -0
- playwright_ez-2.2.0/src/playwright_ez/captcha.py +375 -0
- playwright_ez-2.2.0/src/playwright_ez/cli.py +244 -0
- playwright_ez-2.2.0/src/playwright_ez/concurrent/__init__.py +57 -0
- playwright_ez-2.2.0/src/playwright_ez/concurrent/load_test.py +222 -0
- playwright_ez-2.2.0/src/playwright_ez/concurrent/monitor.py +204 -0
- playwright_ez-2.2.0/src/playwright_ez/concurrent/pool.py +140 -0
- playwright_ez-2.2.0/src/playwright_ez/concurrent/queue.py +157 -0
- playwright_ez-2.2.0/src/playwright_ez/concurrent/retry.py +143 -0
- playwright_ez-2.2.0/src/playwright_ez/concurrent/runner.py +158 -0
- playwright_ez-2.2.0/src/playwright_ez/concurrent/types.py +147 -0
- playwright_ez-2.2.0/src/playwright_ez/config.py +101 -0
- playwright_ez-2.2.0/src/playwright_ez/context.py +350 -0
- playwright_ez-2.2.0/src/playwright_ez/database.py +358 -0
- playwright_ez-2.2.0/src/playwright_ez/debug.py +513 -0
- playwright_ez-2.2.0/src/playwright_ez/diagnostics/__init__.py +48 -0
- playwright_ez-2.2.0/src/playwright_ez/diagnostics/console_monitor.py +323 -0
- playwright_ez-2.2.0/src/playwright_ez/diagnostics/error_analyzer.py +439 -0
- playwright_ez-2.2.0/src/playwright_ez/diagnostics/page_snapshot.py +543 -0
- playwright_ez-2.2.0/src/playwright_ez/environment.py +283 -0
- playwright_ez-2.2.0/src/playwright_ez/extensions.py +350 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/__init__.py +40 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/basic.py +349 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/dynamic.py +314 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/exporter.py +552 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/form.py +301 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/pagination.py +557 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/scraper.py +411 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/template.py +204 -0
- playwright_ez-2.2.0/src/playwright_ez/extract/types.py +27 -0
- playwright_ez-2.2.0/src/playwright_ez/file_handler.py +157 -0
- playwright_ez-2.2.0/src/playwright_ez/form.py +391 -0
- playwright_ez-2.2.0/src/playwright_ez/generator.py +376 -0
- playwright_ez-2.2.0/src/playwright_ez/highlight.py +104 -0
- playwright_ez-2.2.0/src/playwright_ez/mobile.py +493 -0
- playwright_ez-2.2.0/src/playwright_ez/monitoring/__init__.py +48 -0
- playwright_ez-2.2.0/src/playwright_ez/monitoring/performance_budget.py +316 -0
- playwright_ez-2.2.0/src/playwright_ez/monitoring/seo_checker.py +326 -0
- playwright_ez-2.2.0/src/playwright_ez/monitoring/uptime_monitor.py +413 -0
- playwright_ez-2.2.0/src/playwright_ez/network.py +342 -0
- playwright_ez-2.2.0/src/playwright_ez/performance.py +480 -0
- playwright_ez-2.2.0/src/playwright_ez/pom.py +273 -0
- playwright_ez-2.2.0/src/playwright_ez/popup.py +342 -0
- playwright_ez-2.2.0/src/playwright_ez/presets.py +252 -0
- playwright_ez-2.2.0/src/playwright_ez/pytest_plugin.py +343 -0
- playwright_ez-2.2.0/src/playwright_ez/quick.py +286 -0
- playwright_ez-2.2.0/src/playwright_ez/recorder.py +523 -0
- playwright_ez-2.2.0/src/playwright_ez/recovery.py +292 -0
- playwright_ez-2.2.0/src/playwright_ez/report.py +419 -0
- playwright_ez-2.2.0/src/playwright_ez/scheduler.py +284 -0
- playwright_ez-2.2.0/src/playwright_ez/scraper/__init__.py +73 -0
- playwright_ez-2.2.0/src/playwright_ez/scraper/data_validator.py +408 -0
- playwright_ez-2.2.0/src/playwright_ez/scraper/incremental_crawler.py +385 -0
- playwright_ez-2.2.0/src/playwright_ez/scraper/rate_limiter.py +296 -0
- playwright_ez-2.2.0/src/playwright_ez/scraper/smart_scraper.py +587 -0
- playwright_ez-2.2.0/src/playwright_ez/security/__init__.py +44 -0
- playwright_ez-2.2.0/src/playwright_ez/security/header_checker.py +461 -0
- playwright_ez-2.2.0/src/playwright_ez/security/security_scanner.py +319 -0
- playwright_ez-2.2.0/src/playwright_ez/security/xss_detector.py +395 -0
- playwright_ez-2.2.0/src/playwright_ez/selector.py +188 -0
- playwright_ez-2.2.0/src/playwright_ez/session.py +278 -0
- playwright_ez-2.2.0/src/playwright_ez/state.py +413 -0
- playwright_ez-2.2.0/src/playwright_ez/test_helpers/__init__.py +116 -0
- playwright_ez-2.2.0/src/playwright_ez/test_helpers/accessibility_checker.py +505 -0
- playwright_ez-2.2.0/src/playwright_ez/test_helpers/auto_recorder.py +312 -0
- playwright_ez-2.2.0/src/playwright_ez/test_helpers/code_generator.py +169 -0
- playwright_ez-2.2.0/src/playwright_ez/test_helpers/mock_server.py +434 -0
- playwright_ez-2.2.0/src/playwright_ez/test_helpers/test_data_factory.py +427 -0
- playwright_ez-2.2.0/src/playwright_ez/test_helpers/test_isolator.py +405 -0
- playwright_ez-2.2.0/src/playwright_ez/test_helpers/test_reporter.py +522 -0
- playwright_ez-2.2.0/src/playwright_ez/tracing.py +420 -0
- playwright_ez-2.2.0/src/playwright_ez/utils.py +558 -0
- playwright_ez-2.2.0/src/playwright_ez/validators.py +378 -0
- playwright_ez-2.2.0/src/playwright_ez/visual.py +559 -0
- playwright_ez-2.2.0/src/playwright_ez/wait.py +338 -0
- playwright_ez-2.2.0/src/playwright_ez/websocket.py +454 -0
- playwright_ez-2.2.0/src/playwright_ez.egg-info/PKG-INFO +136 -0
- playwright_ez-2.2.0/src/playwright_ez.egg-info/SOURCES.txt +136 -0
- playwright_ez-2.2.0/src/playwright_ez.egg-info/dependency_links.txt +1 -0
- playwright_ez-2.2.0/src/playwright_ez.egg-info/entry_points.txt +5 -0
- playwright_ez-2.2.0/src/playwright_ez.egg-info/requires.txt +14 -0
- playwright_ez-2.2.0/src/playwright_ez.egg-info/top_level.txt +1 -0
- playwright_ez-2.2.0/tests/test_basic.py +123 -0
- playwright_ez-2.2.0/tests/test_complete.py +423 -0
- playwright_ez-2.2.0/tests/test_engine.py +442 -0
- playwright_ez-2.2.0/tests/test_llm.py +313 -0
- playwright_ez-2.2.0/tests/test_unified_access.py +251 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: playwright-ez
|
|
3
|
+
Version: 2.2.0
|
|
4
|
+
Summary: A simplified Playwright wrapper with multi-tab support, element highlighting, and smart waiting
|
|
5
|
+
Author-email: Wellchang <2483808264@qq.com>
|
|
6
|
+
Requires-Python: >=3.11
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Requires-Dist: playwright>=1.40.0
|
|
9
|
+
Requires-Dist: loguru>=0.7.0
|
|
10
|
+
Provides-Extra: dev
|
|
11
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
12
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
13
|
+
Provides-Extra: ocr
|
|
14
|
+
Requires-Dist: pytesseract>=0.3.10; extra == "ocr"
|
|
15
|
+
Requires-Dist: Pillow>=10.0.0; extra == "ocr"
|
|
16
|
+
Provides-Extra: visual
|
|
17
|
+
Requires-Dist: Pillow>=10.0.0; extra == "visual"
|
|
18
|
+
Requires-Dist: numpy>=1.24.0; extra == "visual"
|
|
19
|
+
|
|
20
|
+
# Playwright-EZ 🎭
|
|
21
|
+
|
|
22
|
+
一个功能全面、简单易用的 Playwright 封装库,让浏览器自动化变得简单高效。
|
|
23
|
+
|
|
24
|
+
## ✨ 核心特性
|
|
25
|
+
|
|
26
|
+
### 🗂️ 多标签页管理
|
|
27
|
+
创建、切换、关闭标签页,并行/顺序执行操作
|
|
28
|
+
|
|
29
|
+
### 🎨 元素高亮
|
|
30
|
+
操作元素时自动高亮显示,方便调试
|
|
31
|
+
|
|
32
|
+
### ⏳ 智能等待
|
|
33
|
+
13种等待条件,自定义条件,带重试执行
|
|
34
|
+
|
|
35
|
+
### 🔍 智能选择器
|
|
36
|
+
CSS/XPath/Text/Role/Placeholder/Label/链式选择器
|
|
37
|
+
|
|
38
|
+
### 🍪 Cookie & Session管理
|
|
39
|
+
保存/加载Cookie,会话状态管理
|
|
40
|
+
|
|
41
|
+
### 🌐 网络监控 & 拦截
|
|
42
|
+
请求日志、API追踪、拦截、模拟响应
|
|
43
|
+
|
|
44
|
+
### 📁 文件操作
|
|
45
|
+
上传/下载文件、批量上传、PDF转换
|
|
46
|
+
|
|
47
|
+
### 🛡️ 反检测
|
|
48
|
+
隐藏自动化特征、人类化操作
|
|
49
|
+
|
|
50
|
+
### 📝 表单处理
|
|
51
|
+
智能填充、验证、登录表单快捷操作
|
|
52
|
+
|
|
53
|
+
### 🏗️ 页面对象模型(POM)
|
|
54
|
+
BasePage、PageFactory、步骤装饰器
|
|
55
|
+
|
|
56
|
+
### 📊 性能分析
|
|
57
|
+
页面加载指标、Web Vitals、资源分析
|
|
58
|
+
|
|
59
|
+
### 📱 移动端模拟
|
|
60
|
+
20+预定义设备、GPS定位、网络条件模拟
|
|
61
|
+
|
|
62
|
+
### 👁️ 视觉测试
|
|
63
|
+
截图对比、差异检测、报告生成
|
|
64
|
+
|
|
65
|
+
### 🎬 操作录制回放
|
|
66
|
+
录制操作、回放、代码自动生成
|
|
67
|
+
|
|
68
|
+
### 🐛 调试工具
|
|
69
|
+
调试信息捕获、错误处理、断言库
|
|
70
|
+
|
|
71
|
+
### 📤 数据提取
|
|
72
|
+
表格/列表提取、JSON-LD、结构化数据
|
|
73
|
+
|
|
74
|
+
### 🔌 API测试
|
|
75
|
+
HTTP请求、Mock服务、GraphQL支持
|
|
76
|
+
|
|
77
|
+
### 🔗 WebSocket监控
|
|
78
|
+
WS连接监控、消息拦截、录制回放
|
|
79
|
+
|
|
80
|
+
### 🧪 Pytest集成
|
|
81
|
+
Fixtures、Hooks、测试报告
|
|
82
|
+
|
|
83
|
+
### 💻 命令行工具
|
|
84
|
+
截图、录制、回放、抓取命令
|
|
85
|
+
|
|
86
|
+
### 🔐 验证码处理
|
|
87
|
+
验证码识别辅助、滑动验证码处理
|
|
88
|
+
|
|
89
|
+
### 🎲 数据生成
|
|
90
|
+
测试数据生成器,支持多种数据类型
|
|
91
|
+
|
|
92
|
+
### 📈 测试报告
|
|
93
|
+
HTML报告、性能报告、覆盖率报告
|
|
94
|
+
|
|
95
|
+
### 💾 数据库操作
|
|
96
|
+
SQLite数据库简化操作
|
|
97
|
+
|
|
98
|
+
### ⚙️ 环境管理
|
|
99
|
+
多环境配置、密钥管理
|
|
100
|
+
|
|
101
|
+
## 📦 安装
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
pip install playwright-ez
|
|
105
|
+
playwright install chromium
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## 🚀 快速开始
|
|
109
|
+
|
|
110
|
+
```python
|
|
111
|
+
import asyncio
|
|
112
|
+
from playwright_ez import EasyBrowser
|
|
113
|
+
|
|
114
|
+
async def main():
|
|
115
|
+
async with EasyBrowser() as browser:
|
|
116
|
+
# 导航
|
|
117
|
+
await browser.goto("https://example.com")
|
|
118
|
+
|
|
119
|
+
# 操作(自动高亮+智能等待)
|
|
120
|
+
await browser.click("button.submit")
|
|
121
|
+
await browser.type_text("input.email", "test@example.com")
|
|
122
|
+
|
|
123
|
+
# 获取内容
|
|
124
|
+
text = await browser.get_text("h1")
|
|
125
|
+
print(text)
|
|
126
|
+
|
|
127
|
+
asyncio.run(main())
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 📚 文档
|
|
131
|
+
|
|
132
|
+
详细文档请参考项目源码中的docstring。
|
|
133
|
+
|
|
134
|
+
## 📄 License
|
|
135
|
+
|
|
136
|
+
MIT
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Playwright-EZ 🎭
|
|
2
|
+
|
|
3
|
+
一个功能全面、简单易用的 Playwright 封装库,让浏览器自动化变得简单高效。
|
|
4
|
+
|
|
5
|
+
## ✨ 核心特性
|
|
6
|
+
|
|
7
|
+
### 🗂️ 多标签页管理
|
|
8
|
+
创建、切换、关闭标签页,并行/顺序执行操作
|
|
9
|
+
|
|
10
|
+
### 🎨 元素高亮
|
|
11
|
+
操作元素时自动高亮显示,方便调试
|
|
12
|
+
|
|
13
|
+
### ⏳ 智能等待
|
|
14
|
+
13种等待条件,自定义条件,带重试执行
|
|
15
|
+
|
|
16
|
+
### 🔍 智能选择器
|
|
17
|
+
CSS/XPath/Text/Role/Placeholder/Label/链式选择器
|
|
18
|
+
|
|
19
|
+
### 🍪 Cookie & Session管理
|
|
20
|
+
保存/加载Cookie,会话状态管理
|
|
21
|
+
|
|
22
|
+
### 🌐 网络监控 & 拦截
|
|
23
|
+
请求日志、API追踪、拦截、模拟响应
|
|
24
|
+
|
|
25
|
+
### 📁 文件操作
|
|
26
|
+
上传/下载文件、批量上传、PDF转换
|
|
27
|
+
|
|
28
|
+
### 🛡️ 反检测
|
|
29
|
+
隐藏自动化特征、人类化操作
|
|
30
|
+
|
|
31
|
+
### 📝 表单处理
|
|
32
|
+
智能填充、验证、登录表单快捷操作
|
|
33
|
+
|
|
34
|
+
### 🏗️ 页面对象模型(POM)
|
|
35
|
+
BasePage、PageFactory、步骤装饰器
|
|
36
|
+
|
|
37
|
+
### 📊 性能分析
|
|
38
|
+
页面加载指标、Web Vitals、资源分析
|
|
39
|
+
|
|
40
|
+
### 📱 移动端模拟
|
|
41
|
+
20+预定义设备、GPS定位、网络条件模拟
|
|
42
|
+
|
|
43
|
+
### 👁️ 视觉测试
|
|
44
|
+
截图对比、差异检测、报告生成
|
|
45
|
+
|
|
46
|
+
### 🎬 操作录制回放
|
|
47
|
+
录制操作、回放、代码自动生成
|
|
48
|
+
|
|
49
|
+
### 🐛 调试工具
|
|
50
|
+
调试信息捕获、错误处理、断言库
|
|
51
|
+
|
|
52
|
+
### 📤 数据提取
|
|
53
|
+
表格/列表提取、JSON-LD、结构化数据
|
|
54
|
+
|
|
55
|
+
### 🔌 API测试
|
|
56
|
+
HTTP请求、Mock服务、GraphQL支持
|
|
57
|
+
|
|
58
|
+
### 🔗 WebSocket监控
|
|
59
|
+
WS连接监控、消息拦截、录制回放
|
|
60
|
+
|
|
61
|
+
### 🧪 Pytest集成
|
|
62
|
+
Fixtures、Hooks、测试报告
|
|
63
|
+
|
|
64
|
+
### 💻 命令行工具
|
|
65
|
+
截图、录制、回放、抓取命令
|
|
66
|
+
|
|
67
|
+
### 🔐 验证码处理
|
|
68
|
+
验证码识别辅助、滑动验证码处理
|
|
69
|
+
|
|
70
|
+
### 🎲 数据生成
|
|
71
|
+
测试数据生成器,支持多种数据类型
|
|
72
|
+
|
|
73
|
+
### 📈 测试报告
|
|
74
|
+
HTML报告、性能报告、覆盖率报告
|
|
75
|
+
|
|
76
|
+
### 💾 数据库操作
|
|
77
|
+
SQLite数据库简化操作
|
|
78
|
+
|
|
79
|
+
### ⚙️ 环境管理
|
|
80
|
+
多环境配置、密钥管理
|
|
81
|
+
|
|
82
|
+
## 📦 安装
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
pip install playwright-ez
|
|
86
|
+
playwright install chromium
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## 🚀 快速开始
|
|
90
|
+
|
|
91
|
+
```python
|
|
92
|
+
import asyncio
|
|
93
|
+
from playwright_ez import EasyBrowser
|
|
94
|
+
|
|
95
|
+
async def main():
|
|
96
|
+
async with EasyBrowser() as browser:
|
|
97
|
+
# 导航
|
|
98
|
+
await browser.goto("https://example.com")
|
|
99
|
+
|
|
100
|
+
# 操作(自动高亮+智能等待)
|
|
101
|
+
await browser.click("button.submit")
|
|
102
|
+
await browser.type_text("input.email", "test@example.com")
|
|
103
|
+
|
|
104
|
+
# 获取内容
|
|
105
|
+
text = await browser.get_text("h1")
|
|
106
|
+
print(text)
|
|
107
|
+
|
|
108
|
+
asyncio.run(main())
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 📚 文档
|
|
112
|
+
|
|
113
|
+
详细文档请参考项目源码中的docstring。
|
|
114
|
+
|
|
115
|
+
## 📄 License
|
|
116
|
+
|
|
117
|
+
MIT
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "playwright-ez"
|
|
3
|
+
version = "2.2.0"
|
|
4
|
+
description = "A simplified Playwright wrapper with multi-tab support, element highlighting, and smart waiting"
|
|
5
|
+
authors = [{name = "Wellchang", email = "2483808264@qq.com"}]
|
|
6
|
+
readme = "README.md"
|
|
7
|
+
requires-python = ">=3.11"
|
|
8
|
+
dependencies = [
|
|
9
|
+
"playwright>=1.40.0",
|
|
10
|
+
"loguru>=0.7.0",
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
[project.optional-dependencies]
|
|
14
|
+
dev = [
|
|
15
|
+
"pytest>=7.0.0",
|
|
16
|
+
"pytest-asyncio>=0.21.0",
|
|
17
|
+
]
|
|
18
|
+
ocr = [
|
|
19
|
+
"pytesseract>=0.3.10",
|
|
20
|
+
"Pillow>=10.0.0",
|
|
21
|
+
]
|
|
22
|
+
visual = [
|
|
23
|
+
"Pillow>=10.0.0",
|
|
24
|
+
"numpy>=1.24.0",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
[project.scripts]
|
|
28
|
+
playwright-ez = "playwright_ez.cli:main"
|
|
29
|
+
|
|
30
|
+
[build-system]
|
|
31
|
+
requires = ["setuptools>=61.0"]
|
|
32
|
+
build-backend = "setuptools.build_meta"
|
|
33
|
+
|
|
34
|
+
[tool.setuptools.packages.find]
|
|
35
|
+
where = ["src"]
|
|
36
|
+
|
|
37
|
+
[project.entry-points.pytest11]
|
|
38
|
+
playwright_ez = "playwright_ez.pytest_plugin"
|
|
39
|
+
|
|
40
|
+
[tool.pytest.ini_options]
|
|
41
|
+
asyncio_mode = "auto"
|
|
42
|
+
asyncio_default_fixture_loop_scope = "function"
|
|
43
|
+
testpaths = ["tests"]
|
|
44
|
+
python_files = ["test_*.py"]
|
|
45
|
+
python_classes = ["Test*"]
|
|
46
|
+
python_functions = ["test_*"]
|