Pessoal, estou estudando programação há menos de um mês, e preciso criar um sistema que envie mensagem no Whatsapp web à partir de uma lista no excel, porém, preciso enviar anexo um documento em cada msg.
Pesquisando na Internet, peguei partes de tres códigos que achei no Youtube e consegui juntar e QUASE fazer o que preciso, sendo que dessa maneira, ele envia uma mensagem de boas vindas e em seguida envia o documento anexo para o nome e numero presente no indice 0 na tabela excel.
O que preciso, é que ao final desse processo, ele comece novamente, porém, utilizando o indice 1 da tabela, depois o 2 e assim sucessivamente.
São cerca de 100 nomes na lista da tabela, e se for preciso, posso repetir o código as 100 vezes trocando o indice, porém, não sei fazer de maneira nenhuma.
Desde já, muito obrigado, e segue abaixo o código que "criei" com o indice em negrito.
Agenda = pd.read_excel("Dados.xlsx") # Crie uma planilha com os dados da coluna e salve na pasta do arquivo criado.
Navegador = webdriver.Chrome(ChromeDriverManager().install())
Navegador.get('https://web.whatsapp.com/') #abre o site Whatsapp Web
while len(Navegador.find_elements_by_id("side")) < 1:
time.sleep(1)
# Envia a mensagem para todos da lista que está na planilha Excel.
for i, mensagem in enumerate(Agenda['Mensagem']):
Nome = Agenda.loc[0, "Nome"]
numero = Agenda.loc[0, "Número"]
Arquivo_E_Extensao = Agenda.loc[0,"Arquivo"]
texto = urllib.parse.quote(f"Olá {Nome}! {mensagem}.")
link = f"https://web.whatsapp.com/send?phone=55{numero}&text={texto}"
Navegador.get(link)
while len(Navegador.find_elements_by_id("side")) < 1:
time.sleep(1)
for Nome in Agenda:
enviar_midia(midia)
time.sleep(1)
#Gerando a url com o número do telefone da lista
#texto = urllib.parse.quote(f"Olá {Nome}! {mensagem}.")
#link = f"https://web.whatsapp.com/send?phone=55{numero}&text={texto}"
#Navegador.get(link)
#while len(Navegador.find_elements_by_id("side")) < 1:
#time.sleep(1)
#Navegador.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div/div/div[2]/div[1]/div/div[2]').send_keys(Keys.ENTER)
#time.sleep(12)
#Midia = imagem, pdf, documento, video (caminho do arquivo, lembrando que mesmo no windows o caminho deve ser passado com barra invertida / )
midia = f"C:/Users/Riberto/Documents/Jupyter/autozap/{Arquivo_E_Extensao}"
time.sleep(1)
#Funcao que envia midia como mensagem
def enviar_midia(midia):
Navegador.find_element_by_css_selector("span[data-icon='clip']").click()
attach = Navegador.find_element_by_css_selector("input[type='file']")
attach.send_keys(midia)
time.sleep(3)
send = Navegador.find_element_by_xpath("/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/span/div[1]/span/div[1]/div/div[2]/div/div[1]/div[3]/div/div/div[2]/div[1]/div[2]").send_keys(Keys.ENTER)
time.sleep(1)
send.click()
#send = Navegador.find_element_by_xpath("/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/span/div[1]/span/div[1]/div/div[2]/div/div[1]/div[3]/div/div/div[2]/div[1]/div[2]").click() #send_Keys(Keys.ENTER)
#time.sleep(1)
#send.click()
#Enviar mídia selecionada do contato
#enviar_midia(midia)
#time.sleep(2)
#for Nome in Agenda:
#enviar_midia(midia)
#time.sleep(1)
Pergunta
Riberto De Sousa Junior
Pessoal, estou estudando programação há menos de um mês, e preciso criar um sistema que envie mensagem no Whatsapp web à partir de uma lista no excel, porém, preciso enviar anexo um documento em cada msg.
Pesquisando na Internet, peguei partes de tres códigos que achei no Youtube e consegui juntar e QUASE fazer o que preciso, sendo que dessa maneira, ele envia uma mensagem de boas vindas e em seguida envia o documento anexo para o nome e numero presente no indice 0 na tabela excel.
O que preciso, é que ao final desse processo, ele comece novamente, porém, utilizando o indice 1 da tabela, depois o 2 e assim sucessivamente.
São cerca de 100 nomes na lista da tabela, e se for preciso, posso repetir o código as 100 vezes trocando o indice, porém, não sei fazer de maneira nenhuma.
Desde já, muito obrigado, e segue abaixo o código que "criei" com o indice em negrito.
Agenda = pd.read_excel("Dados.xlsx") # Crie uma planilha com os dados da coluna e salve na pasta do arquivo criado.
Navegador = webdriver.Chrome(ChromeDriverManager().install())
Navegador.get('https://web.whatsapp.com/') #abre o site Whatsapp Web
while len(Navegador.find_elements_by_id("side")) < 1:
time.sleep(1)
# Envia a mensagem para todos da lista que está na planilha Excel.
for i, mensagem in enumerate(Agenda['Mensagem']):
Nome = Agenda.loc[0, "Nome"]
numero = Agenda.loc[0, "Número"]
Arquivo_E_Extensao = Agenda.loc[0,"Arquivo"]
texto = urllib.parse.quote(f"Olá {Nome}! {mensagem}.")
link = f"https://web.whatsapp.com/send?phone=55{numero}&text={texto}"
Navegador.get(link)
while len(Navegador.find_elements_by_id("side")) < 1:
time.sleep(1)
Navegador.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div/div/div[2]/div[1]/div/div[2]').send_keys(Keys.ENTER)
time.sleep(5)
for Nome in Agenda:
enviar_midia(midia)
time.sleep(1)
#Gerando a url com o número do telefone da lista
#texto = urllib.parse.quote(f"Olá {Nome}! {mensagem}.")
#link = f"https://web.whatsapp.com/send?phone=55{numero}&text={texto}"
#Navegador.get(link)
#while len(Navegador.find_elements_by_id("side")) < 1:
#time.sleep(1)
#Navegador.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div/div/div[2]/div[1]/div/div[2]').send_keys(Keys.ENTER)
#time.sleep(12)
#Midia = imagem, pdf, documento, video (caminho do arquivo, lembrando que mesmo no windows o caminho deve ser passado com barra invertida / )
midia = f"C:/Users/Riberto/Documents/Jupyter/autozap/{Arquivo_E_Extensao}"
time.sleep(1)
#Funcao que envia midia como mensagem
def enviar_midia(midia):
Navegador.find_element_by_css_selector("span[data-icon='clip']").click()
attach = Navegador.find_element_by_css_selector("input[type='file']")
attach.send_keys(midia)
time.sleep(3)
send = Navegador.find_element_by_xpath("/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/span/div[1]/span/div[1]/div/div[2]/div/div[1]/div[3]/div/div/div[2]/div[1]/div[2]").send_keys(Keys.ENTER)
time.sleep(1)
send.click()
#send = Navegador.find_element_by_xpath("/html/body/div[1]/div[1]/div[1]/div[2]/div[2]/span/div[1]/span/div[1]/div/div[2]/div/div[1]/div[3]/div/div/div[2]/div[1]/div[2]").click() #send_Keys(Keys.ENTER)
#time.sleep(1)
#send.click()
#Enviar mídia selecionada do contato
#enviar_midia(midia)
#time.sleep(2)
#for Nome in Agenda:
#enviar_midia(midia)
#time.sleep(1)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
AGRADECIMENTOS E CRÉDITOS
Lira do canal Hashtag Programação
Wesley Pinheiro do canal Wesley Pinheiro
Ademir Costa do Canal Ademir Costa
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.