Ir para conteúdo
Fórum Script Brasil
  • 0

SOU INICIANTE, PRECISO DE AJUDA


Riberto De Sousa Junior

Pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...