Nine pages per language (home, description, install, one page per lecture step with its screenshot and what was gained, appendix) plus the sidebar. Doxygen now runs without warnings. The publish workflow is the framework template, unchanged. Task: MIL-005#1 Task: MIL-005#2 Task: MIL-005#3 Task: MIL-005#4 Task: MIL-005#5 Closes #24 Closes #25 Closes #26 Closes #27 Closes #28
32 lines
1.3 KiB
Markdown
32 lines
1.3 KiB
Markdown
# Langkah 1: buka permainan
|
|
|
|
🌐 [English](Step-1-Open-The-Game) · [Dansk](Step-1-Open-The-Game-da) · **Bahasa Melayu**
|
|
|
|
Bot memulakan Chrome, memuatkan permainan dan menunggu sehingga pilihan bahasa muncul pada halaman. Kemudian ia memilih bahasa Inggeris, supaya kuki besar boleh dimainkan.
|
|
|
|
**Tangkapan skrin**
|
|
|
|

|
|
|
|
**Fungsi**
|
|
|
|
```python
|
|
def open_game(game: GamePort) -> None:
|
|
game.open_page(GAME_URL)
|
|
game.wait_for_element(LANGUAGE_BUTTON_PREFIX + LANGUAGE_CODE)
|
|
|
|
|
|
def select_language(game: GamePort) -> None:
|
|
game.click_element(LANGUAGE_BUTTON_PREFIX + LANGUAGE_CODE)
|
|
game.wait_for_element(BIG_COOKIE_ID)
|
|
```
|
|
|
|
## Apa yang kami peroleh
|
|
|
|
- **Tunggu elemen, jangan tidur.** `WebDriverWait` kembali sebaik sahaja elemen wujud, jadi bot pantas apabila halaman pantas dan sabar apabila ia perlahan.
|
|
- **Selenium Manager** mencari pemandu Chrome yang sepadan, jadi tiada muat turun manual.
|
|
- **Port mengasingkan Selenium daripada peraturan.** `open_game` hanya bercakap dengan `GamePort`, jadi permainan palsu boleh mengujinya tanpa pelayar.
|
|
- **Satu tempat untuk butiran halaman.** Alamat dan id elemen berada dalam `constants.py`.
|
|
|
|
Seterusnya: [Langkah 2: klik kuki](Step-2-Click-The-Cookie-ms)
|