Membangun Agen Pengisian Formulir yang Andal
Studi kasus praktis: masuk ke portal, mengisi formulir multi-halaman, lalu memverifikasi pengirimannya.
Membangun Agen Pengisian Formulir yang Andal adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Proyek Nyata
Agen untuk "mengisi formulir multi-halaman ini". Kita akan menggabungkan Playwright + perencanaan LLM + percobaan ulang + cadangan visi.
Arsitektur
- LLM membaca persyaratan kolom dari spesifikasi JSON
- Playwright membuka formulir
- Untuk setiap kolom, temukan pemilih + nilai, isi, lalu validasi
- Jika kolom sulit ditemukan melalui DOM, gunakan visi sebagai cadangan
- Kirim formulir, lalu verifikasi keberhasilannya
Step 1: Define the Task
TASK = {
'url': 'https://example.com/apply',
'login': {'user': 'alice', 'pass': '...'},
'fields': {
'first_name': 'Alice',
'last_name': 'Smith',
'email': 'alice@example.com',
'role': 'Senior Engineer'
}
}Step 2: Login
page.goto(TASK['url'])
if page.locator('input[name="username"]').is_visible():
page.fill('input[name="username"]', TASK['login']['user'])
page.fill('input[name="password"]', TASK['login']['pass'])
page.click('button[type="submit"]')
page.wait_for_load_state('networkidle')Step 3: Field Filler
def fill_field(page, field_name, value):
for selector in [
f'input[name="{field_name}"]',
f'input[aria-label="{field_name}"]',
f'input[placeholder*="{field_name}"]',
f'label:has-text("{field_name}") + input'
]:
if page.locator(selector).count() > 0:
page.fill(selector, value)
return True
return False
# --- demo ---
class _FakeLocator:
def __init__(self, found):
self._found = found
def count(self):
return 1 if self._found else 0
class _FakePage:
"""Only the 3rd selector (placeholder) matches, to show the fallback loop."""
def locator(self, selector):
return _FakeLocator(found='placeholder*=' in selector)
def fill(self, selector, value):
print(f'Filled via selector: {selector} -> {value!r}')
page = _FakePage()
ok = fill_field(page, 'email', 'alice@example.com')
print(f'fill_field succeeded: {ok}')
Step 4: Pencari Berbantuan LLM
Jika pemilih standar gagal, minta LLM mengidentifikasi kolom tersebut:
def ask_llm_for_selector(html, field_name):
prompt = f'Find the input element for "{field_name}" in this HTML and return a CSS selector. HTML:\n{html[:5000]}'
return llm.invoke(prompt).content.strip()Step 5: Cadangan Visi
Jika LLM pun tidak dapat menemukan pemilih, ambil tangkapan layar dan gunakan visi:
if not filled:
screenshot = page.screenshot()
coordinate = vision_llm_locate(screenshot, field_name)
page.mouse.click(coordinate.x, coordinate.y)
page.keyboard.type(value)Step 6: Validasi Setiap Langkah
Setelah mengisi, baca kembali nilainya:
actual = page.input_value(selector)
assert actual == expected_value, f'Expected {expected_value}, got {actual}'Step 7: Submit and Verify
page.click('button[type="submit"]')
page.wait_for_load_state('networkidle')
if page.locator('text=Thank you').count() == 0:
raise SubmissionFailed('Success page not detected')Step 8: Logika Percobaan Ulang
Formulir terkadang mengalami gangguan. Lakukan percobaan ulang dengan pemeriksaan idempotensi:
@retry(stop=stop_after_attempt(3), wait=wait_fixed(2))
def fill_and_submit(page, task):
...Step 9: Penanganan Captcha
Jika formulir memiliki reCAPTCHA, gunakan layanan pemecah (2Captcha, Anti-Captcha) — atau tangani kegagalan dengan baik dan minta bantuan manusia.
Step 10: Pencatatan dan Pemutaran Ulang
Simpan setiap tindakan + tangkapan layar. Ketika terjadi kegagalan, Anda dapat memutar ulang jejak tersebut untuk melakukan penelusuran kesalahan:
context.tracing.stop(path=f'trace-{task_id}.zip')
# View with: playwright show-trace trace-abc.zipPertimbangan Konkurensi
Untuk menangani formulir banyak pengguna secara paralel, buat satu konteks peramban untuk setiap tugas. Batasi konkurensi agar tidak membebani situs tujuan.
Menghormati Situs Tujuan
- Berikan jeda di antara tindakan (manusia tidak mengetik 200 karakter per detik)
- Patuhi robots.txt dan ketentuan layanan
- Gunakan IP yang berganti-ganti hanya jika diizinkan
- Hindari penyalahgunaan — lalu lintas agen bukan berarti melakukan pengikisan tanpa kendali
Strategi Ketahanan
Apa strategi paling andal untuk mengisi formulir dengan HTML yang tidak dapat diprediksi?
Ringkasan
Playwright + pemilih berbantuan LLM + cadangan visi + validasi per langkah + percobaan ulang + log jejak. Inilah resep untuk pengisian formulir yang andal.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membangun Agen Pengisian Formulir yang Andal” gratis?
Ya — teks lengkap “Membangun Agen Pengisian Formulir yang Andal” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Membangun Agen Pengisian Formulir yang Andal”?
Studi kasus praktis: masuk ke portal, mengisi formulir multi-halaman, lalu memverifikasi pengirimannya. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Agents?
Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Membangun Agen Pengisian Formulir yang Andal” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?
Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Otomatisasi Peramban dengan Playwright
- Model Visi untuk Memahami Layar
- Pola Penggunaan Komputer (Anthropic Computer-Use)
- Membangun Agen Pengisian Formulir yang Andal