Wiederverwendbares Browser Framework für Web-Automatisierung - 64-bit only
Project description
🚀 Quick Browser Framework
Wiederverwendbares Browser Framework für Web-Automatisierung - 64-bit only
Ein einfaches, aber mächtiges Python-Framework für Browser-Automatisierung basierend auf Selenium. Entwickelt für Windows 64-bit Systeme mit Fokus auf Einfachheit und Zuverlässigkeit.
✨ Features
- 🔧 Einfache API - Minimaler Setup-Code für maximale Produktivität
- 🌐 Multi-Browser Support - Chrome, Firefox, Edge
- ⚡ Performance Optimiert - Schnelle Startzeiten und effiziente Ressourcennutzung
- 🛡️ Robust - Eingebaute Error-Handling und Retry-Mechanismen
- 🎯 Windows Optimiert - Speziell für Windows 64-bit entwickelt
- 📦 Zero Config - Funktioniert out-of-the-box ohne komplexe Konfiguration
- 🔄 Auto-Update - Automatische WebDriver-Updates
- 📸 Screenshot Support - Eingebaute Screenshot-Funktionalität
🚀 Quick Start
Installation
# Aus Gitea Registry
pip install --index-url https://git.noircoding.de/api/packages/NoirPi/pypi/simple/ quick-browser
# Oder mit requirements.txt
echo "--extra-index-url https://git.noircoding.de/api/packages/NoirPi/pypi/simple/" >> requirements.txt
echo "quick-browser>=1.1.0" >> requirements.txt
pip install -r requirements.txt
Basic Usage
from browser_framework import BrowserManager
# Browser starten
browser_manager = BrowserManager()
driver = browser_manager.get_driver()
# Webseite öffnen
driver.get("https://www.google.com")
# Element finden und interagieren
search_box = driver.find_element("name", "q")
search_box.send_keys("Python automation")
search_box.submit()
# Screenshot erstellen
driver.save_screenshot("result.png")
# Cleanup
browser_manager.cleanup()
Advanced Configuration
from browser_framework import BrowserManager, BrowserConfig
# Custom Konfiguration
config = BrowserConfig(
headless=True,
window_size=(1920, 1080),
user_agent="Custom User Agent",
download_directory="./downloads",
page_load_timeout=30
)
browser_manager = BrowserManager(config=config)
driver = browser_manager.get_driver()
📚 Examples
Das examples/ Verzeichnis enthält vollständige Beispiele:
basic_usage.py- Grundlegende Browser-Automatisierungadvanced_scraping.py- Erweiterte Scraping-Techniken mit Custom Config
Beispiele ausführen
# Basis Beispiel
python examples/basic_usage.py
# Erweiterte Beispiele
python examples/advanced_scraping.py
🛠️ API Reference
BrowserManager
Hauptklasse für Browser-Management.
browser_manager = BrowserManager(config=None, browser_type="chrome")
Parameter:
config(BrowserConfig, optional): Custom Browser-Konfigurationbrowser_type(str): Browser-Typ ("chrome", "firefox", "edge")
Methoden:
get_driver(): Startet Browser und gibt WebDriver zurückcleanup(): Schließt Browser und bereinigt Ressourcen
BrowserConfig
Konfigurationsklasse für Browser-Einstellungen.
config = BrowserConfig(
headless=False, # Headless-Modus
window_size=(1366, 768), # Fenstergröße
user_agent=None, # Custom User Agent
download_directory=None, # Download-Verzeichnis
enable_javascript=True, # JavaScript aktivieren
load_images=True, # Bilder laden
page_load_timeout=30 # Timeout für Seitenladen
)
🔧 CLI Tools
Das Framework enthält praktische CLI-Tools:
# Framework testen
quick-browser-test
# Hilfe anzeigen
quick-browser-test --help
📋 Requirements
- Python: 3.8 oder höher
- Betriebssystem: Windows 64-bit
- Browser: Chrome, Firefox oder Edge
- RAM: Mindestens 4GB empfohlen
Python Dependencies
selenium>=4.15.0
requests>=2.31.0
tqdm>=4.66.0
pywin32>=306
keyring>=24.0.0
🏗️ Development
Setup Development Environment
# Repository klonen
git clone https://git.noircoding.de/NoirPi/quick-browser.git
cd quick-browser
# Virtual Environment erstellen
python -m venv .venv
.venv\Scripts\activate
# Development Dependencies installieren
pip install -e .[dev]
Tests ausführen
# Alle Tests
pytest
# Mit Coverage
pytest --cov=browser_framework
# Specific Test
pytest tests/test_browser_manager.py
Code Quality
# Linting mit Ruff
ruff check .
# Auto-Fix
ruff check . --fix
# Type Checking
mypy browser_framework/
Build Package
# Clean Build
python -m build
# Upload to Gitea
twine upload --repository gitea dist/*
🤝 Contributing
- Fork das Repository
- Erstelle einen Feature Branch (
git checkout -b feature/amazing-feature) - Committe deine Changes (
git commit -m 'Add amazing feature') - Push zum Branch (
git push origin feature/amazing-feature) - Öffne einen Pull Request
📝 Changelog
v1.1.0 (2025-06-02)
- ✨ Initiale Release
- 🔧 Basic Browser Management
- 📦 Windows 64-bit Optimierung
- 🛡️ Error Handling
- 📸 Screenshot Support
📄 License
Dieses Projekt ist unter der MIT License lizenziert - siehe LICENSE für Details.
🆘 Support
- Issues: Gitea Issues
- Documentation: README
- Email: noirpi@noircoding.de
🙏 Acknowledgments
- Selenium WebDriver Team
- Python Community
- Alle Beta-Tester und Contributors
Made with ❤️ by NoirPi
Quick Browser Framework - Because browser automation shouldn't be complicated!
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
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
File details
Details for the file quick_browser-1.1.0.tar.gz.
File metadata
- Download URL: quick_browser-1.1.0.tar.gz
- Upload date:
- Size: 25.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a42fdc1bb95b32b0de7145af2f7edc7956a67e6859ae7200b53fe57dfc354b7
|
|
| MD5 |
fcf2aa9dfee7d05c4b4579ee66466fd2
|
|
| BLAKE2b-256 |
070b1db3dc4acce5577bc665453d1473461d77ac328afd3c0cefb2b0d10908d9
|
File details
Details for the file quick_browser-1.1.0-py3-none-any.whl.
File metadata
- Download URL: quick_browser-1.1.0-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9105477165c442574597bf8d4d92396b9a69504a47deca2748d288d8b8c25abf
|
|
| MD5 |
ad19400f8c8793fd76cf4a7a76da9b8d
|
|
| BLAKE2b-256 |
7875e5482925c5ab9325ffb6c76818c737cfe3f8eec3bdabd533b64642ebac71
|