es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python Selenium uniendo elementos en una lista

Ok, quiero registrarme automáticamente en Google, pero el problema es que está uniendo dos elementos de una lista en el correo electrónico. Debería tomar solo el asignado a él, el cuarto elemento.
Aquí está el código y la lista que se usaron. También intenté time.sleep y también probé la depuración.

Datos de inicio de sesión

loginG=[]
length=9
for i in range (4):
    letters = string.ascii_lowercase<br>
    data=''.join((random.sample(letters, length)))
    loginG.append(data)

loginG.pop(3)

lth=4

for i in range (1):
    letters = string.ascii_lowercase<br>
    data=''.join((random.sample(letters,lth )))
    loginG.append(data)

Funciones

def google():
    file = open("F:\Python\Python programs\Project\Bots\data.txt", "w") 
    file.write("loginG:"+str(loginG)+" time:"+str(now))
    file.close()
    fistnameG=(loginG[0])
    lastnameG=(loginG[1])
    emailG=('burner'+loginG[3]+'@gmail.com')
    passwordG=(loginG[2])
    driver = webdriver.Chrome(executable_path="F:\Python\Python programs\Project\Bots\driver\chromedriver.exe")
    driver.get('https://accounts.google.com/signup/v2/webcreateaccount?hl=en&flowName=GlifWebSignIn&flowEntry=SignUp')
    FirstnameG = driver.find_element_by_id('firstName')
    FirstnameG.send_keys(fistnameG)
    LastnameG=driver.find_element_by_id('lastName')
    LastnameG.send_keys(lastnameG)
    EmailG=driver.find_element_by_name('Username')
    time.sleep(3)
    EmailG.send_keys(emailG)
    time.sleep(2)
    PasswordG = driver.find_element_by_name('Passwd')
    PasswordG.send_keys(passwordG)
    confirmpasswordG=driver.find_element_by_name('ConfirmPasswd')
    confirmpasswordG.send_keys(passwordG)
    nextG=driver.find_element_by_class_name('VfPpkd-vQzf8d')
    time.sleep(2)
    nextG.click()

También estoy utilizando Selenium para interactuar con el sitio web, y random y string para generar letras aleatorias. La lista que se usó fue loginG:['racthjdgb', 'jqzgwkcom', 'dxrochpzm', 'wvbo'].

Aquí está la salida: enlace a la imagen

Mi salida deseada es burnerwvbo@gmail.com.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para resolver el problema, el correo electrónico solo debe tomar el ítem asignado en la cuarta posición de la lista. Actualmente, se están uniendo todos los elementos de la lista utilizando el método join().

    Para solucionar esto, reemplace la línea actual:
    emailG=('burner'+ ''.join(loginG) + '@gmail.com')

    con:
    emailG=('burner'+ loginG[3] + '@gmail.com')

    Esto concatenará solo el cuarto elemento de la lista al correo electrónico en lugar de todos los elementos de la lista.

    Después de realizar los cambios, la función google() debe verse así:

    def google():
        file = open("F:\Python\Python programs\Project\Bots\data.txt", "w")
        file.write("loginG:"+str(loginG)+" time:"+str(now))
        file.close()
        firstnameG = loginG[0]
        lastnameG = loginG[1]
        emailG = 'burner' + loginG[3] + '@gmail.com'
        passwordG = loginG[2]
        driver = webdriver.Chrome(executable_path="F:\Python\Python programs\Project\Bots\driver\chromedriver.exe")
        driver.get('https://accounts.google.com/signup/v2/webcreateaccount?hl=en&flowName=GlifWebSignIn&flowEntry=SignUp')
        FirstnameG = driver.find_element_by_id('firstName')
        FirstnameG.send_keys(firstnameG)
        LastnameG = driver.find_element_by_id('lastName')
        LastnameG.send_keys(lastnameG)
        EmailG = driver.find_element_by_name('Username')
        time.sleep(3)
        EmailG.send_keys(emailG)
        time.sleep(2)
        PasswordG = driver.find_element_by_name('Passwd')
        PasswordG.send_keys(passwordG)
        confirmpasswordG = driver.find_element_by_name('ConfirmPasswd')
        confirmpasswordG.send_keys(passwordG)
        nextG = driver.find_element_by_class_name('VfPpkd-vQzf8d')
        time.sleep(2)
        nextG.click()
    

    Esto debería resolver el problema y ahora se generará la salida deseada burnerwvbo@gmail.com.

Comments are closed.