Skip to main content

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.

Python Version License Platform

✨ 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-Automatisierung
  • advanced_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-Konfiguration
  • browser_type (str): Browser-Typ ("chrome", "firefox", "edge")

Methoden:

  • get_driver(): Startet Browser und gibt WebDriver zurück
  • cleanup(): 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

  1. Fork das Repository
  2. Erstelle einen Feature Branch (git checkout -b feature/amazing-feature)
  3. Committe deine Changes (git commit -m 'Add amazing feature')
  4. Push zum Branch (git push origin feature/amazing-feature)
  5. Ö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

🙏 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quick_browser-1.1.0.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quick_browser-1.1.0-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

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

Hashes for quick_browser-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7a42fdc1bb95b32b0de7145af2f7edc7956a67e6859ae7200b53fe57dfc354b7
MD5 fcf2aa9dfee7d05c4b4579ee66466fd2
BLAKE2b-256 070b1db3dc4acce5577bc665453d1473461d77ac328afd3c0cefb2b0d10908d9

See more details on using hashes here.

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

Hashes for quick_browser-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9105477165c442574597bf8d4d92396b9a69504a47deca2748d288d8b8c25abf
MD5 ad19400f8c8793fd76cf4a7a76da9b8d
BLAKE2b-256 7875e5482925c5ab9325ffb6c76818c737cfe3f8eec3bdabd533b64642ebac71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page