12 Istilah Dasar Browser Automation
Panduan Istilah Dasar Browser Automation
Browser automation adalah cara membuat “robot browser” yang bisa membuka website, klik tombol, isi form, upload file, menulis caption, dan menjalankan alur kerja seperti manusia.
Panduan ini menggunakan format Pengertian, Tugas, dan Analogi agar setiap istilah lebih mudah dipahami.
1. Navigasi Dasar
1.1 Visit / Go To
Pengertian: Perintah untuk membuka alamat website tertentu.
Tugas: Mengarahkan browser ke halaman yang ingin diproses.
Analogi: Seperti mengetik alamat website di address bar lalu menekan Enter.
page.goto("https://www.tiktok.com/upload")
1.2 Wait For Element
Pengertian: Perintah untuk menunggu sampai tombol, kolom input, gambar, atau elemen lain muncul di halaman.
Tugas: Mencegah robot klik terlalu cepat sebelum halaman siap.
Analogi: Seperti menunggu pintu toko terbuka dulu sebelum masuk.
page.wait_for_selector("input[type='file']")
1.3 Delay / Sleep
Pengertian: Memberi jeda beberapa detik sebelum lanjut ke perintah berikutnya.
Tugas: Membuat robot berhenti sebentar agar proses website selesai.
Analogi: Seperti menunggu beberapa detik setelah upload video karena sistem sedang memproses file.
page.wait_for_timeout(3000)
Angka 3000 berarti menunggu 3000 milidetik atau 3 detik.
2. Pengaturan Cookies dan Session
Cookies bisa dianggap sebagai “memori browser”. Isinya dapat menyimpan status login, preferensi, dan data sesi.
2.1 Load Cookies / Load Session
Pengertian: Memuat data login yang sudah pernah disimpan sebelumnya.
Tugas: Agar user tidak perlu login ulang setiap membuka aplikasi.
Analogi: Seperti penjaga toko sudah mengenali kamu, jadi kamu tidak perlu menunjukkan identitas lagi.
browser = playwright.chromium.launch_persistent_context(
user_data_dir="browser_profile",
headless=False
)
2.2 Clear Cookies
Pengertian: Menghapus data login dan memori browser.
Tugas: Logout dari akun, membersihkan session, atau mengganti akun.
Analogi: Seperti menghapus riwayat dan tanda pengenal kamu dari browser.
context.clear_cookies()
2.3 Save Session
Pengertian: Menyimpan kondisi browser setelah user login.
Tugas: Agar login tetap tersimpan untuk upload berikutnya.
Analogi: Seperti menyimpan kunci rumah, supaya besok tidak perlu minta kunci baru.
User login manual
↓
Session tersimpan di folder browser_profile
↓
Besok buka aplikasi, akun masih login
3. Manajemen Tab
Tab adalah jendela kecil di dalam browser. Robot harus tahu tab mana yang sedang aktif.
3.1 New Tab
Pengertian: Membuka tab baru dalam browser yang sama.
Tugas: Membuka halaman lain tanpa menutup halaman sebelumnya.
Analogi: Seperti membuka lembar kerja baru di meja yang sama.
new_page = context.new_page()
3.2 Switch Tab
Pengertian: Berpindah dari satu tab ke tab lain.
Tugas: Mengatur robot supaya bekerja di tab yang benar.
Analogi: Seperti punya beberapa buku terbuka, lalu memilih buku mana yang mau dibaca.
pages = context.pages
page = pages[1]
Contoh di atas berarti pindah ke tab urutan kedua.
3.3 Close Current Tab
Pengertian: Menutup tab yang sedang aktif.
Tugas: Membersihkan tab setelah tugas selesai.
Analogi: Seperti menutup buku setelah selesai membaca.
page.close()
3.4 Close All Other Tabs
Pengertian: Menutup semua tab kecuali tab utama yang sedang dipakai.
Tugas: Agar browser tetap rapi dan tidak berat.
Analogi: Seperti membersihkan meja kerja dan hanya menyisakan dokumen penting.
for p in context.pages:
if p != active_page:
p.close()
4. Navigasi Layar dan Frame
4.1 Scrolling
Pengertian: Menggulir halaman ke atas atau ke bawah.
Tugas: Melihat tombol atau konten yang tersembunyi di bawah halaman.
Analogi: Seperti menggulir layar HP untuk melihat bagian bawah postingan.
page.mouse.wheel(0, 1000)
Contoh di atas berarti scroll ke bawah 1000 pixel.
4.2 Scroll Into View
Pengertian: Menggeser layar otomatis sampai elemen tertentu terlihat.
Tugas: Memastikan tombol atau kolom input terlihat sebelum diklik.
Analogi: Seperti kamera diarahkan dulu ke objek sebelum difoto.
page.locator("button").scroll_into_view_if_needed()
4.3 Switch Frame / Iframe
Pengertian: Masuk ke halaman kecil yang tertanam di dalam halaman utama.
Tugas: Mengakses tombol atau form yang berada di dalam iframe.
Analogi: Seperti ada kotak kecil di dalam website, dan robot harus masuk ke kotak itu dulu sebelum bisa klik isinya.
frame = page.frame_locator("iframe")
frame.locator("button").click()
5. Interaksi Elemen
5.1 Click
Pengertian: Perintah untuk menekan tombol, link, menu, atau elemen tertentu.
Tugas: Menjalankan aksi di website.
Analogi: Seperti klik tombol Upload atau Publish.
page.click("button")
5.2 Fill
Pengertian: Mengisi kolom input dengan teks.
Tugas: Menulis caption, judul, hashtag, username, atau data lain.
Analogi: Seperti mengetik caption di kolom postingan.
page.fill("textarea", "Ini caption video saya")
5.3 Type
Pengertian: Mengetik teks secara bertahap seperti manusia.
Tugas: Membuat input terlihat lebih natural dibanding langsung mengisi sekaligus.
Analogi: Seperti mengetik huruf satu per satu di keyboard.
page.type("textarea", "Caption produk terbaru", delay=50)
5.4 Press Key
Pengertian: Menekan tombol keyboard tertentu.
Tugas: Menekan Enter, Tab, Escape, Ctrl+A, dan lainnya.
Analogi: Seperti menekan Enter untuk pindah baris atau Tab untuk pindah kolom.
page.keyboard.press("Enter")
6. Upload File
6.1 Set Input Files
Pengertian: Memasukkan file dari komputer ke form upload website.
Tugas: Upload video, gambar, atau dokumen.
Analogi: Seperti klik Pilih File, lalu memilih video dari folder komputer.
page.set_input_files("input[type='file']", "video.mp4")
6.2 File Path
Pengertian: Alamat lokasi file di komputer.
Tugas: Memberi tahu robot file mana yang harus diupload.
Analogi: Seperti alamat rumah. Kalau alamatnya salah, kurir tidak bisa menemukan rumahnya.
video_path = "C:/Users/Admin/Videos/video1.mp4"
7. Selector
Selector adalah “alamat elemen” di dalam halaman website.
7.1 CSS Selector
Pengertian: Cara memilih elemen berdasarkan tag, class, id, atau atribut HTML.
Tugas: Memberi tahu robot tombol atau kolom mana yang harus dipakai.
Analogi: Seperti alamat rak di supermarket: lorong 3, rak 2, baris 5.
page.click("button[type='submit']")
7.2 Text Selector
Pengertian: Memilih elemen berdasarkan teks yang terlihat.
Tugas: Klik tombol berdasarkan tulisan yang muncul di layar.
Analogi: Seperti mencari tombol bertuliskan Next, lalu menekannya.
page.get_by_text("Upload").click()
7.3 Locator
Pengertian: Objek yang mewakili elemen di halaman.
Tugas: Mencari, menunggu, lalu berinteraksi dengan elemen secara lebih stabil.
Analogi: Seperti menunjuk satu tombol spesifik dan berkata, “yang ini yang saya maksud.”
upload_button = page.locator("button")
upload_button.click()
8. Status dan Validasi
8.1 Check Element Exists
Pengertian: Mengecek apakah elemen muncul di halaman.
Tugas: Memastikan halaman sudah benar sebelum lanjut.
Analogi: Seperti memastikan pintu ada sebelum mencoba membukanya.
if page.locator("text=Publish").is_visible():
print("Tombol Publish ditemukan")
8.2 Check Upload Success
Pengertian: Mengecek apakah upload berhasil.
Tugas: Menentukan status video: sukses, gagal, atau perlu dicoba ulang.
Analogi: Seperti menunggu notifikasi “video berhasil diposting”.
Jika muncul teks "Uploaded successfully"
↓
Status queue = Success
8.3 Error Handling
Pengertian: Cara menangani error saat automation gagal.
Tugas: Agar aplikasi tidak langsung crash ketika website berubah, internet lambat, atau tombol tidak ditemukan.
Analogi: Seperti sopir yang mencari jalan alternatif saat jalan utama ditutup.
try:
page.click("button")
except Exception as e:
print("Gagal klik tombol:", e)
9. Queue Upload
Queue adalah antrean tugas upload.
9.1 Add To Queue
Pengertian: Menambahkan video dan caption ke daftar antrean.
Tugas: Menyimpan data sebelum proses upload dimulai.
Analogi: Seperti memasukkan beberapa paket ke daftar pengiriman.
{
"video": "video1.mp4",
"caption": "Caption pertama",
"platform": "TikTok",
"status": "pending"
}
9.2 Process Queue
Pengertian: Menjalankan antrean satu per satu.
Tugas: Upload video secara berurutan.
Analogi: Seperti kasir melayani pelanggan satu per satu sesuai antrean.
Video 1 → Upload → Success
Video 2 → Upload → Success
Video 3 → Upload → Failed
9.3 Retry Failed
Pengertian: Mengulang tugas yang gagal.
Tugas: Mencoba upload ulang jika error karena internet, halaman lambat, atau tombol belum muncul.
Analogi: Seperti mengirim ulang paket yang gagal terkirim.
Jika gagal maksimal 3 kali
↓
Tandai sebagai Failed
10. Browser Mode
10.1 Headless Mode
Pengertian: Browser berjalan tanpa terlihat di layar.
Tugas: Menjalankan automation di belakang layar.
Analogi: Seperti mesin bekerja di dapur, kamu tidak melihat prosesnya.
browser = playwright.chromium.launch(headless=True)
Untuk upload sosial media, biasanya lebih baik tidak menggunakan headless mode.
10.2 Headful Mode
Pengertian: Browser terlihat di layar.
Tugas: User bisa melihat proses login, upload, dan publish.
Analogi: Seperti melihat robot bekerja langsung di browser.
browser = playwright.chromium.launch(headless=False)
10.3 Persistent Browser
Pengertian: Browser yang menyimpan profil, cookies, dan session.
Tugas: Agar akun tetap login walaupun aplikasi ditutup.
Analogi: Seperti browser pribadi yang tetap ingat akun Google, TikTok, atau Instagram.
context = playwright.chromium.launch_persistent_context(
user_data_dir="browser_profile",
headless=False
)
11. Istilah Penting untuk Aplikasi Upload Sosmed
11.1 Platform Module
Pengertian: File khusus untuk mengatur automation setiap platform.
Tugas: Memisahkan logic TikTok, Instagram, X, Threads, dan Pinterest.
Analogi: Seperti tiap kurir punya aturan pengiriman berbeda.
platforms/
├── tiktok.py
├── instagram.py
├── pinterest.py
├── x.py
└── threads.py
11.2 Base Uploader
Pengertian: Template utama yang dipakai semua platform.
Tugas: Menyamakan pola upload: buka halaman, upload video, isi caption, publish.
Analogi: Seperti SOP umum kerja, lalu tiap platform punya penyesuaian sendiri.
BaseUploader:
- open_upload_page()
- upload_video()
- fill_caption()
- publish()
11.3 Log
Pengertian: Catatan proses aplikasi.
Tugas: Menyimpan informasi sukses, gagal, error, dan waktu upload.
Analogi: Seperti buku laporan kerja harian.
[10:21] TikTok - video1.mp4 - Upload started
[10:23] TikTok - video1.mp4 - Success
[10:25] Pinterest - video2.mp4 - Failed
12. Contoh Alur Lengkap Robot Upload
Berikut contoh alur kerja robot browser automation saat mengupload video ke sosial media.
1. Buka browser
2. Load session login
3. Buka halaman upload TikTok
4. Tunggu tombol upload muncul
5. Pilih file video
6. Tunggu video selesai diproses
7. Isi caption
8. Scroll ke tombol Publish
9. Klik Publish
10. Tunggu status berhasil
11. Tutup tab
12. Lanjut video berikutnya
Analogi Sederhana
Robot browser automation bisa dianggap seperti asisten admin digital. Dia membuka website, mengambil video dari folder, menulis caption, menekan tombol upload, menunggu proses selesai, mencatat hasilnya, lalu lanjut ke tugas berikutnya.
Kesimpulan
Browser automation membantu pekerjaan berulang seperti upload video, isi caption, klik tombol publish, dan mengecek status upload. Dengan memahami istilah dasar seperti navigasi, selector, cookies, session, queue, dan error handling, proses membuat aplikasi uploader otomatis akan jauh lebih mudah dipahami.

Diskusi