import os
import sys
import requests
import zipfile
import shutil
from selenium import webdriver
from selenium.webdriver.edge.service import Service
from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import subprocess

# Datele de conectare
email = "intelinkgov@gmail.com"
password = "q1w2e3r4"

def init_edge_driver():
    edge_options = Options()
    # 🔥 Eliminăm opțiunea de headless pentru a putea vedea browserul
    # edge_options.add_argument("--headless")  # COMENTAT sau ȘTERS
    edge_options.add_argument("--disable-gpu")
    edge_options.add_argument("--no-sandbox")
    edge_options.add_argument("--disable-dev-shm-usage")
    driver = webdriver.Edge(options=edge_options)
    return driver

def main():
    driver = None
    try:
        driver = init_edge_driver()
        driver.get("https://newl2mr.listen2myradio.com/login-free")

        # Salvează conținutul paginii pentru debug
        with open('page_source.html', 'w', encoding='utf-8') as file:
            file.write(driver.page_source)
        
        # Găsește câmpul pentru email
        email_field = WebDriverWait(driver, 20).until(
            EC.presence_of_element_located((By.NAME, 'email'))
        )
        email_field.clear()
        email_field.send_keys(email)

        # Găsește câmpul pentru parolă
        password_field = WebDriverWait(driver, 20).until(
            EC.presence_of_element_located((By.NAME, 'password'))
        )
        password_field.clear()
        password_field.send_keys(password)

        # Așteaptă și caută butonul de login
        try:
            login_button = WebDriverWait(driver, 20).until(
                EC.presence_of_element_located((By.NAME, 'submit_login_frm'))
            )
        except:
            try:
                login_button = WebDriverWait(driver, 20).until(
                    EC.presence_of_element_located((By.CLASS_NAME, 'submit'))
                )
            except:
                try:
                    login_button = WebDriverWait(driver, 20).until(
                        EC.presence_of_element_located((By.XPATH, '//input[@type="submit" and @name="submit_login_frm"]'))
                    )
                except Exception as e:
                    print(f"Eroare la găsirea butonului de login: {e}")
                    return

        login_button.click()
        print("Butonul de login apăsat.")
        
        # 🔥 Opțional: Așteaptă ca utilizatorul să interacționeze cu browserul
        input("Apasă Enter pentru a închide browserul...")

    except Exception as e:
        print(f"A apărut o eroare: {e}")
    finally:
        if driver:
            driver.quit()
            print("Browserul a fost închis.")

if __name__ == "__main__":
    main()
