Spaces:
Sleeping
Sleeping
File size: 2,371 Bytes
e024dde e95fa56 e024dde bfd23c7 e024dde |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
"""
🤖 Fagun Browser Automation Testing Agent - Hugging Face Spaces Entry Point
==========================================
A powerful, intelligent browser automation tool that performs comprehensive website testing.
Author: Mejbaur Bahar Fagun
Role: Software Engineer in Test
LinkedIn: https://www.linkedin.com/in/mejbaur/
"""
import os
import sys
# Set UTF-8 encoding for Windows console
if sys.platform.startswith('win'):
import codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout.detach())
sys.stderr = codecs.getwriter('utf-8')(sys.stderr.detach())
# Disable telemetry before importing browser-use
os.environ["BROWSER_USE_TELEMETRY"] = "false"
os.environ["BROWSER_USE_DISABLE_TELEMETRY"] = "true"
os.environ["BROWSER_USE_NO_TELEMETRY"] = "true"
os.environ["DISABLE_TELEMETRY"] = "true"
os.environ["NO_TELEMETRY"] = "true"
# Configure logging
import logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[logging.StreamHandler(sys.stdout)]
)
logging.getLogger("browser_use").setLevel(logging.WARNING)
logging.getLogger("posthog").setLevel(logging.WARNING)
from dotenv import load_dotenv
load_dotenv()
# Install Playwright browsers on first run
import subprocess
import sys
def install_playwright_browsers():
"""Install Playwright browsers if not already installed"""
try:
print("🔍 Checking Playwright browsers...")
result = subprocess.run(
[sys.executable, "-m", "playwright", "install", "chromium", "firefox"],
capture_output=True,
text=True,
timeout=300
)
if result.returncode == 0:
print("✅ Playwright browsers installed successfully")
else:
print(f"⚠️ Playwright install warning: {result.stderr}")
except Exception as e:
print(f"⚠️ Could not install Playwright browsers: {e}")
# Install browsers on startup
install_playwright_browsers()
from src.webui.interface import create_ui
# Create the Gradio interface with Hacker theme
demo = create_ui(theme_name="Hacker")
# Launch for Hugging Face Spaces
if __name__ == '__main__':
demo.queue().launch(
server_name="0.0.0.0",
server_port=7860, # Hugging Face Spaces default port
share=False # No need for share link on HF Spaces
)
|