基于WebKit的Python自动化浏览器框架
Project description
WebKit-AutoFramework 自动化浏览器框架
🚀 一个基于原生 WebKit二次开发的自动化浏览器框架,支持命令行参数控制窗口位置与代理配置,并通过 Python 客户端驱动自动操作浏览器。
✨ 项目亮点
- ✅ 🧠 基于 WebKit 源码构建,小而精致的浏览器内核
- ✅ 🛠️ 自动启动 WebKit 与 WebDriver 进程
- ✅ 📜 支持命令行传参(窗口位置、尺寸、代理类型、代理认证)
- ✅ 💪 网络改造,支持 HTTP/SOCKS5 等代理模式
- ✅ 📏 Python API 调用控制浏览器行为
- ✅ 🧪 人类行为模拟,底层行为重写。
快速开始
🚀 交流群QQ:391116392
-
安装依赖:
pip install psutil
-
下载项目
-
启动自动化:
python main.py
示例代码
from AutoWkDriverClient import AutoWK
import time
if __name__ == "__main__":
"""自动化1236滑块验证码"""
client = AutoWK()
try:
client.create_session()
print("[STATUS]", client.status())
client.set_timeouts({"pageLoad": 10000})
print("[GET TIMEOUTS]", client.get_timeouts())
client.navigate(r"https://www.12306.cn/index/view/infos/ticket_check.html")
print("[URL]", client.get_current_url())
#输入座次
input_ele=client.find_element_by_css_selector("input#ticket_check_trainNum").input("1462")
time.sleep(3)
#选择地点
drap=client.find_element_by_css_selector("div.model-select-text")
drap.set_attribute("data-value","TXP")
print('attr:', drap.get_attribute("data-value"))
print('选择完毕')
time.sleep(3)
#拖拽滑块验证码
btn=client.find_element_by_css_selector("li a.btn.btn-primary").click()
time.sleep(5)
client.drag_and_drop_pos_human(525,436,848,436)
print('拖拽完毕')
except Exception as e:
print(e)
finally:
time.sleep(5)
client.delete_session()
client.close()
支持的启动命令行参数(MiniBrowser.exe)
| 参数 | 示例 | 说明 |
|---|---|---|
--x= |
--x=100 |
设置窗口左上角 X 坐标 |
--y= |
--y=200 |
设置窗口左上角 Y 坐标 |
--width= |
--width=1280 |
设置窗口宽度 |
--height= |
--height=720 |
设置窗口高度 |
--proxyType= |
--proxyType=socks5 |
代理类型:HTTP / SOCKS5 等 |
--proxyHost= |
--proxyHost=127.0.0.1 |
代理服务器地址 |
--proxyPort= |
--proxyPort=1080 |
代理端口 |
--proxyUsername= |
--proxyUsername=admin |
代理认证用户名 |
--proxyPassword= |
--proxyPassword=123456 |
代理认证密码 |
例子:minibrowser.exe --proxyType=SOCKS5 --proxyHost=1.1.1.1 --proxyPort=1000 --proxyUsername=ruyi --proxyPassword=wifi --x=500 --y=100 --width=500 --height=500
项目结构
.
├── main.py # 示例入口,演示自动化操作
├── AutoWKBase.py # WebKit 与 WebDriver 启动控制逻辑
├── AutoWkDriverClient.py # 封装 WebDriver API 自动化操作类
├── Element.py # 元素封装类,支持属性、点击、输入等操作
├── scripts/
│ └── launch_driver.bat # 启动 WebKit WebDriver 的批处理脚本
├── bin/
│ └── MiniBrowser.exe # 编译好的 WebKit 浏览器
TODO
- ✅ 支持代理认证
- ⏳ 支持 Cookie 持久化管理
- ⏳ 支持 Shadow DOM 元素查找
- ⏳ 完善窗口多开与进程隔离控制
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
autowk-0.1.4.tar.gz
(65.2 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
autowk-0.1.4-py3-none-any.whl
(66.6 MB
view details)
File details
Details for the file autowk-0.1.4.tar.gz.
File metadata
- Download URL: autowk-0.1.4.tar.gz
- Upload date:
- Size: 65.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e07a37f373bfd4500f6fb961a59c7e4c82e66dabd31d5370b24bc5d121bcde3d
|
|
| MD5 |
9ee8fce39f101cc3a1d177158cf723c1
|
|
| BLAKE2b-256 |
d724fbca96c248a775d3fe7650d9ad1504cd8ed89fe4ed7a51f39f5d483b43ce
|
File details
Details for the file autowk-0.1.4-py3-none-any.whl.
File metadata
- Download URL: autowk-0.1.4-py3-none-any.whl
- Upload date:
- Size: 66.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64de49798334b837c95150cd720e9907f222a90619a8fc6459c9b409d1af8812
|
|
| MD5 |
42cd2eb27f992532ef193be152802931
|
|
| BLAKE2b-256 |
a9467f7276ac3cecd8ce7c882ebaadcfbf062a4aaf8cbc53aeeaa0a2ba4a53b5
|