Files
Tirsvad 9565ebe66d Add README screenshots and a three-language wiki (MIL-003)
Wiki pages in English, Danish and Bahasa Malaysia for the home page and the
three lecture steps, with a sidebar and the screenshots; README with the
screenshots table and wiki links; review RC-011.

Task: MIL-003#1
2026-10-28 16:24:57 +08:00

1.9 KiB

English · Dansk · Bahasa Malaysia

Langkah 3: Cabaran, isi borang

Pelajaran

Cabarannya: isi borang pendaftaran dengan nama pertama, nama akhir dan alamat e-mel, kemudian klik butang Sign Up. Sesetengah elemen tidak mempunyai id atau nama yang mudah digunakan, jadi pelajaran menunjuk kepada pemilih CSS.

Kod

def fill_out_form(browser, form_data=None, before_submit=None):
    data = form_data if form_data is not None else default_form_data()
    browser.find_element(BY_CSS_SELECTOR, FIRST_NAME_SELECTOR).send_keys(data.first_name)
    browser.find_element(BY_CSS_SELECTOR, LAST_NAME_SELECTOR).send_keys(data.last_name)
    browser.find_element(BY_CSS_SELECTOR, EMAIL_SELECTOR).send_keys(data.email)
    if before_submit is not None:
        before_submit()
    browser.find_element(BY_CSS_SELECTOR, SIGN_UP_BUTTON_SELECTOR).click()

Apa yang dipaparkan pelayar

Borang selepas menaip, sebelum klik:

Borang pendaftaran diisi dengan Jane, Doe dan alamat e-mel

Laman selepas Sign Up. Laman demo memeriksa alamat e-mel, dan alamat lalai jane.doe@example.com ditolak. Jalankan program dengan alamat anda sendiri (--email anda@domainanda.com) untuk melihat laman berjaya:

Laman demo menjawab "Uh oh" kepada alamat lalai example.com

Apa yang kita peroleh

  • Pemilih CSS seperti input[name='fName'] mencari elemen yang tiada id.
  • Langkah 1 dan 2 digabungkan di sini: cari, taip, klik.
  • Laman sebenar boleh menjawab di luar jangkaan; tangkapan skrin selepas klik menunjukkan apa yang benar-benar berlaku.
  • Menyimpan pemilih dalam constants.py bermakna laman yang berubah hanya memerlukan satu pembetulan, bukan mencari dalam kod.