28 lines
935 B
Python
28 lines
935 B
Python
# .agent/tools/visual_proof.py
|
|
import sys
|
|
from playwright.sync_api import sync_playwright
|
|
|
|
def take_screenshot(url, output_file="evidence.png"):
|
|
with sync_playwright() as p:
|
|
# Lança um browser Chromium leve
|
|
browser = p.chromium.launch()
|
|
page = browser.new_page()
|
|
|
|
print(f"📸 Acessando {url}...")
|
|
page.goto(url)
|
|
|
|
# Tira o print da página inteira
|
|
page.screenshot(path=output_file, full_page=True)
|
|
browser.close()
|
|
return f"✅ Screenshot salvo em: {output_file}"
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) < 2:
|
|
print("Uso: python visual_proof.py http://localhost:3000 [nome_arquivo.png]")
|
|
else:
|
|
url = sys.argv[1]
|
|
out = sys.argv[2] if len(sys.argv) > 2 else "evidence.png"
|
|
try:
|
|
print(take_screenshot(url, out))
|
|
except Exception as e:
|
|
print(f"❌ Erro ao capturar: {e}") |