TikTok - PW Klick geht
Dieser Commit ist enthalten in:
BIN
database/accounts.db-journal
Normale Datei
BIN
database/accounts.db-journal
Normale Datei
Binäre Datei nicht angezeigt.
@ -1039,6 +1039,39 @@ class TikTokRegistration:
|
|||||||
|
|
||||||
logger.info("Gebe jetzt Passwort ein (nach Code-Verifikation)")
|
logger.info("Gebe jetzt Passwort ein (nach Code-Verifikation)")
|
||||||
|
|
||||||
|
# WICHTIG: Passwort-Feld muss oft erst "aktiviert" werden
|
||||||
|
logger.info("Aktiviere Passwort-Feld durch Tab-Navigation oder direkten Click")
|
||||||
|
|
||||||
|
# Methode 1: Tab-Navigation vom Code-Feld zum Passwort-Feld
|
||||||
|
try:
|
||||||
|
# Finde das Code-Eingabefeld und navigiere mit Tab weiter
|
||||||
|
code_field = self.automation.browser.page.locator("input[placeholder*='Code']").first
|
||||||
|
if code_field.is_visible():
|
||||||
|
code_field.press("Tab")
|
||||||
|
logger.info("Tab-Navigation vom Code-Feld ausgeführt")
|
||||||
|
self.automation.human_behavior.random_delay(0.5, 1.0)
|
||||||
|
except:
|
||||||
|
logger.debug("Tab-Navigation fehlgeschlagen")
|
||||||
|
|
||||||
|
# Methode 2: Versuche zuerst das Passwort-Feld zu "wecken" durch einen Click
|
||||||
|
try:
|
||||||
|
# Suche nach dem Container oder Label des Passwort-Felds
|
||||||
|
password_container_selectors = [
|
||||||
|
"div:has(> input[type='password'])",
|
||||||
|
"div:has-text('Passwort'):has(input)",
|
||||||
|
"label:has-text('Passwort')",
|
||||||
|
"[class*='InputContainer']:has(input[type='password'])"
|
||||||
|
]
|
||||||
|
|
||||||
|
for container_selector in password_container_selectors:
|
||||||
|
if self.automation.browser.is_element_visible(container_selector, timeout=500):
|
||||||
|
self.automation.browser.click_element(container_selector)
|
||||||
|
logger.info(f"Passwort-Container angeklickt: {container_selector}")
|
||||||
|
self.automation.human_behavior.random_delay(0.3, 0.5)
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
logger.debug("Container-Click fehlgeschlagen")
|
||||||
|
|
||||||
# Nach Code-Eingabe erscheint ein neues Passwort-Feld
|
# Nach Code-Eingabe erscheint ein neues Passwort-Feld
|
||||||
# Verschiedene Selektoren für das Passwort-Feld nach Code-Eingabe
|
# Verschiedene Selektoren für das Passwort-Feld nach Code-Eingabe
|
||||||
password_selectors = [
|
password_selectors = [
|
||||||
@ -2162,7 +2195,15 @@ class TikTokRegistration:
|
|||||||
|
|
||||||
logger.info("Verwende Character-by-Character Eingabe für Passwort-Feld")
|
logger.info("Verwende Character-by-Character Eingabe für Passwort-Feld")
|
||||||
|
|
||||||
# Fokussiere und lösche das Feld
|
# Fokussiere das Feld mehrfach um sicherzustellen dass es aktiv ist
|
||||||
|
element.click()
|
||||||
|
self.automation.human_behavior.random_delay(0.2, 0.4)
|
||||||
|
|
||||||
|
# Doppelter Focus-Versuch falls das Feld träge reagiert
|
||||||
|
element.focus()
|
||||||
|
self.automation.human_behavior.random_delay(0.1, 0.2)
|
||||||
|
|
||||||
|
# Nochmal klicken um wirklich sicher zu sein
|
||||||
element.click()
|
element.click()
|
||||||
self.automation.human_behavior.random_delay(0.1, 0.2)
|
self.automation.human_behavior.random_delay(0.1, 0.2)
|
||||||
|
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren