Ich erhalte ständig einen Twitter-Anmeldefehler bei Verwendung von SeleniumPython

Python-Programme
Anonymous
 Ich erhalte ständig einen Twitter-Anmeldefehler bei Verwendung von Selenium

Post by Anonymous »

Ich verwende Selenium, um mich bei Twitter anzumelden (und zu posten), um API-Ratenbeschränkungen zu umgehen. Vor kurzem (ein paar Tage) erhalte ich direkt nach der Eingabe des Benutzernamens die Fehlermeldung:
Sie konnten sich jetzt nicht anmelden. Bitte versuchen Sie es später noch einmal. g;176029661079788808:-1760296618459:ijH33i79n7aS6in2duZpcYni:1
Es spielt keine Rolle, welchen Benutzernamen ich (Selenium) eingebe.
Ich verwende Selenium in zwei verschiedenen Skripten und es passiert bei beiden.
wenn ich es versuche Beim Anmelden über den „normalen“ Chrome-Browser mit denselben Benutzernamen tritt kein Fehler auf.
Dies ist der Code, den ich zum Anmelden verwende:

Code: Select all

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import config
class TweeterChromeConnector:

def __init__(self):
# open chrome
self.driver = webdriver.Chrome()
self.driver.get("https://x.com/i/flow/login")
self.wait = WebDriverWait(self.driver, 20)

def login(self, user_name, password):
try:
# send user
span_element = self.wait.until(
EC.presence_of_element_located((By.XPATH, "//span[text()='Phone, email address, or username']")))
input_element = span_element.find_element(By.XPATH, "./ancestor::div[contains(@class, 'r-')]/following::input")
input_element.send_keys(user_name)

# press Next
span_element = self.driver.find_element(By.XPATH, "//span[text()='Next']")
button_element = span_element.find_element(By.XPATH, "./ancestor::span[contains(@class, 'r-')]")
button_element.click()

# handle password
span_element = self.wait.until(EC.presence_of_element_located((By.XPATH, "//span[text()='Password']")))
input_element = span_element.find_element(By.XPATH, "./ancestor::div[contains(@class, 'r-')]/following::input")
input_element.send_keys(password)

# click login
span_element = self.wait.until(EC.presence_of_element_located((By.XPATH, "//span[text()='Log in']")))
button_element = span_element.find_element(By.XPATH, "./ancestor::span[contains(@class, 'r-')]")
button_element.click()
except Exception as e:
print(f"An error occurred during login: {e}")
raise

def paste_content(self, input_element, content):
self.driver.execute_script(
f'''
const text = `{content}`;
const dataTransfer = new DataTransfer();
dataTransfer.setData('text', text);
const event = new ClipboardEvent('paste', {{
clipboardData: dataTransfer,
bubbles: true
}});
arguments[0].dispatchEvent(event)
''', input_element)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post