Wpisanie nowej treści do pola tekstowego, kasując poprzednią

0

Cześć przychodzę z problemem chciałbym sczytywać maile i sprawdzać czy istnieją czy nie istnieją jednak problem jest kasowanie poprzedniego miala z pola wpisu czyli zamiast wpisania anna i sprawdzenia czy istnieje i skasowanie zaczyna wklejać kowal czyli mamy już annakowal próbowałem
różnych technik kasowania ale nic nie działa możliwe ze jest chronione przez boty wykrywające jeśli tak to jest szansa na jakieś ominięć tego typu zabezpieczeń.

from telnetlib import STATUS
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
import time
import random
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import WebDriverException


def register_and_check_email_availability(emails):
    # Możesz użyć dowolnej przeglądarki, dla której masz odpowiednie sterowniki
    driver = webdriver.Chrome()
    driver.get("https://1login.wp.pl/rejestracja?client_id=poczta_nh&flow=registration&login_challenge=Cj0KJDExZDAzYzQ3NzRmYWU4YWM3NTE5OTMxZTEzMjY3YjgwMTk4YhDXsIqqBhoPCglwb2N6dGFfbmgSAnYxEiBM2knrm1m7rs3uva7bLZJT43P7h7pyHsezToSzt2-4kw&registrationFlow=newForced&registrationBrand=wp")

    
    driver.find_element(By.NAME, 'name').send_keys("Imie")
    driver.find_element(By.NAME, "lastName").send_keys("Nazwisko")
    driver.find_element(By.NAME, "sex").send_keys("M")
    driver.find_element(By.ID, "date").send_keys("6")
    select_month = driver.find_element(By.ID, "month")
    select = Select(select_month)
    select.select_by_value('2')

    driver.find_element(By.ID, "year").send_keys("1940")

    # Wprowadź e-mail w polu rejestracji
    kupa = driver.find_element(By.ID, "login").send_keys(emails[0])
    driver.find_element(By.ID, "login").send_keys(emails[0])

    # Kliknij przycisk "Zarejestruj się"
    time.sleep(8)
    # element = WebDriverWait(driver, 10).until(
    #    EC.element_to_be_clickable((By.XPATH, '//button[text()="Dalej"]'))
    # )
    # while not driver.find_element(By.XPATH, '//button[text()="Dalej"]').():
    # print("czkamsd")
    # time.sleep(1)
    while True:
        is_clicable = False
        try:
            driver.find_element(By.XPATH, '//button[text()="Dalej"]').click()
            is_clicable = True
        except WebDriverException:
            print("Element is not clickable")
        if is_clicable:
            break

    # driver.find_element(
    #    By.CSS_SELECTOR, "sc-bcXHqe Buttons__Button-sc-g2fyk2-0 iGblCX gwugjh").click()

    # Sprawdź, czy pojawi się informacja o błędzie rejestracji lub o dostępności adresu e-mail
    # error_message = driver.find_element(
    # By.XPATH, '//div[text()="Podany login jest już zajęty"')
    # driver.find_element(By.XPATH, "//*[text()='Podany login jest już zajęty']")
    # driver.find_element(
    #    By.CLASS_NAME, "sc-bcXHqe ErrorContainer-sc-1hxvmp0-0 bHXXMt kAINnj NewEmailUserDataStep___StyledCustomErrorMessage-sc-nhf5cz-1 gfMenV")
    time.sleep(8)
    x = driver.find_element(
        By.XPATH, "//div[@class='sc-bcXHqe ErrorContainer-sc-1hxvmp0-0 bHXXMt kAINnj NewEmailUserDataStep___StyledCustomErrorMessage-sc-nhf5cz-1 gfMenV']")
    print(x.tag_name)
    print(x.text)
    print("xx")

    for email in emails[2:]:
        print(f"wstawiamy{email}")
        driver.find_element(By.ID, "login").send_keys("")
        driver.find_element(By.ID, "login").clear()
        driver.find_element(By.ID, "login").send_keys(Keys.DELETE)
        time.sleep(random.randint(1, 3))
        driver.find_element(By.ID, "login").send_keys(email)
        time.sleep(1)
        x = driver.find_element(
            By.XPATH, "//div[@class='sc-bcXHqe ErrorContainer-sc-1hxvmp0-0 bHXXMt kAINnj NewEmailUserDataStep___StyledCustomErrorMessage-sc-nhf5cz-1 gfMenV']")
        # print(x)
        print(x.text)

    # if "nie istnieje" in error_message.text:
    #    return False  # Adres e-mail nie istnieje
    # else:
    #    return True  # Adres e-mail istnieje


email_to_check = ["anna", "kowal", "dadasdfgfasfafda", "akepka"]
register_and_check_email_availability(email_to_check)
0

Bez kontekstu ciężko cokolwiek doradzić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1