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.

¿Cómo puedo enviar un correo electrónico desde Gmail con Python + Selenium?

Estoy intentando enviar un correo electrónico desde la interfaz web de Gmail con Python utilizando Selenium, pero estoy atascado en la parte de seleccionar la opción de Componer.

Este es mi código:

from selenium import webdriver
import time

driver = webdriver.Chrome('C:/chromedriver.exe')

driver.get('https://www.gmail.com/')

driver.implicitly_wait(5)

loginBox = driver.find_element_by_xpath('//*[@id ="identifierId"]')
loginBox.send_keys('xxxxxxxxxxxxxxxxx')

nextButton = driver.find_elements_by_xpath('//*[@id ="identifierNext"]')
nextButton[0].click()

passWordBox = driver.find_element_by_xpath('//*[@id ="password"]/div[1]/div/div[1]/input')
passWordBox.send_keys('xxxxxxxxxxxx')

nextButton = driver.find_elements_by_xpath('//*[@id ="passwordNext"]')
nextButton[0].click()

time.sleep(2)

#compose = driver.find_element_by_xpath('/html/body/div[7]/div[3]/div/div[2]/div[1]/div[1]/div[1]/div[2]/div/div/div/div[1]/div/div')                         
#compose.click()

driver.get('https://mail.google.com/mail/u/0/#inbox?compose=new')

time.sleep(2)

compose_button_xpath="/html/body/div[7]/div[3]/div/div[2]/div[1]/div[1]/div[1]/div[2]/div/div/div/div[1]/div/div"
#driver.find_element_by_xpath(compose_button_xpath).click()
driver.find_element_by_xpath("//textarea[@name='to']").send_keys("abc@gmail.com")
driver.find_element_by_xpath("//input[@id=':12s']").send_keys("Content")
driver.find_element_by_xpath("//div[@id=':11d']").click()

¿Puedes ayudarme? ¿Cómo puedo resolver esto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás teniendo problemas para seleccionar el botón Componer. Has intentado usar un XPath para encontrar y hacer clic en el botón Componer, pero no está funcionando. Una solución potencial es navegar directamente a la página de redacción utilizando la URL “https://mail.google.com/mail/u/0/#inbox?compose=new” en lugar de intentar hacer clic en el botón Componer.

    En el código comentado, tienes un XPath para el botón Componer que podría funcionar si lo descomentas y lo ajustas según sea necesario. También puedes intentar usar diferentes XPath o selectores CSS para encontrar y hacer clic en el botón Componer.

    Si todo lo demás falla, puedes intentar usar JavaScript para hacer clic en el botón Componer. Aquí tienes un ejemplo de código que utiliza JavaScript para hacer clic en el botón:

    compose_button = driver.find_element_by_xpath('aquí tu xpath')
    driver.execute_script("arguments[0].click();", compose_button)
    

    Esto utilizará JavaScript para hacer clic en el elemento en lugar del método de clic incorporado de Selenium. Asegúrate de reemplazar “aquí tu xpath” por el XPath adecuado para el botón Componer.

Comments are closed.