Files
050-tinder-auto-find-match/docs/wiki/Home-da.md
Tirsvad a1b9e7caa6
TirSystem/git-workflows: OpenGrep / opengrep (push) Skipped
TirSystem/git-workflows: Publish wiki / publish-wiki (push) Skipped
TirSystem/git-workflows: Sync GitHub mirror metadata / sync-metadata (push) Skipped
TirSystem/git-workflows: Publish accepted milestones / publish (push) Skipped
TirSystem/git-workflows: Validate / validate (push) Skipped
TirSystem/git-workflows: Validate / validate (pull_request) Successful in 38s
TirSystem/git-workflows: OpenGrep / opengrep (pull_request) Successful in 3m59s
Flatten wiki to Home.md, Home-da.md and Home-ms.md for the wiki publisher
2026-11-03 10:45:46 +08:00

2.4 KiB

Dag 50 - Tinder auto find match (Dansk)

English · Bahasa Malaysia

Mål: automatisér login og "like" af profiler på TinDog med Python og Selenium. Etik først: fortæl din partner, at du automatiserer, og respektér den daglige grænse (TinDog 20, Tinder gratis 100).

Trin 1 - Se siden igennem manuelt

Forside

Det lærte vi: klik først selv igennem og notér, hvilke elementer koden skal ramme. Gode locators kommer af at kende siden.

Trin 2 - Gå til login-siden

Login-vindue

Det lærte vi: driver.get, XPath-locators (locators.py) og at vente med WebDriverWait + element_to_be_clickable i stedet for faste sleep. Det undgår NoSuchElementException på langsomme sider.

Trin 3 - Facebook-popup

Facebook-popup

Det lærte vi: login åbner et ekstra browservindue. Vi skifter med driver.window_handles og switch_to.window, udfylder formularen og skifter tilbage. Loginoplysninger ligger i miljøvariabler, aldrig i koden.

Trin 4 - Luk alle forespørgsler

Lokation (04), notifikationer (05), cookies (06).

Cookies

Det lærte vi: modale popups blokerer alt bagved. Vi klikker ALLOW, NOT INTERESTED og I ACCEPT og springer en popup over, hvis den ikke dukker op (TimeoutException håndteres og logges).

Trin 5 - Tryk Like

Liker Match-popup

Det lærte vi: undtagelser som styring af en ustabil brugerflade: NoSuchElementException betyder "indlæser stadig, vent 2 sek. og prøv igen"; ElementClickInterceptedException betyder "en match-popup er i vejen, klik BACK TO TINDER". En pause mellem likes gør, at botten ikke ligner en bot. Løkken stopper ved den indstillede grænse.

Færdig

Modernisering ift. den tidligere løsning

  • src/-pakke med én funktion pr. trin i stedet for én klasse med sleep.
  • Eksplicitte ventetider i stedet for faste; alle locators ét sted.
  • Facebook-login (som lektionen beder om) i stedet for Google; indstillinger i en Settings-dataclass; enhedstests med en falsk driver.
  • Ingen from constants import *, ingen HTML-dumps.