This repository has been archived on 2025-11-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Fitz_Studio/scrappers/iniciar_chrome.py
T

80 lines
2.4 KiB
Python

import subprocess
import os
import time
import signal
def iniciar_chrome(chrome_path,
user_data_dir,
headless=False,
debugging_port=9222,
user_agent=None,
):
# Asegúrate de que el directorio del perfil exista
os.makedirs(user_data_dir, exist_ok=True)
# Lista de argumentos para Chrome
chrome_args = [
f"--remote-debugging-port={debugging_port}",
f"--user-data-dir={user_data_dir}",
"--disable-blink-features=AutomationControlled",
"--no-sandbox",
"--disable-web-security",
"--disable-extensions",
"--disable-dev-shm-usage",
"--disable-infobars",
"--disable-popup-blocking",
"--disable-default-apps",
"--mute-audio",
"--window-size=1024,1024",
]
if not headless:
pass
else:
chrome_args.append("--headless=new") # para versiones recientes de Chrome
if not user_agent:
pass
else:
chrome_args.append(f"--user-agent={user_agent}")
# Comando para iniciar Chrome
chrome_process = subprocess.Popen([chrome_path] + chrome_args)
try:
print(f"Chrome iniciado (headless={headless}). Presiona Ctrl+C para salir.")
while True:
if chrome_process.poll() is not None:
print("Chrome se ha cerrado.")
break
time.sleep(1)
except KeyboardInterrupt:
print("Terminando proceso de Chrome...")
chrome_process.terminate()
try:
chrome_process.wait(timeout=5)
except subprocess.TimeoutExpired:
chrome_process.kill()
print("Chrome cerrado correctamente.")
# Ruta al ejecutable de Chrome
chrome_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
# Directorio para el perfil de usuario
user_data_dir = os.path.abspath("./Perfiles_usuario/chrome_profile")
# Puerto para la depuración remota
port = 9222
user_agent= "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
# Llama a la función con True o False
iniciar_chrome(chrome_path=chrome_path,
user_data_dir=user_data_dir,
debugging_port=port,
headless=False,
user_agent=user_agent) # Cambia a True para modo headless