Jump to content

Problema com bot de whatsapp web


rodrigoo91

Postagens Recomendadas

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

import time

# Inicializa o driver do Selenium (certifique-se de ter o chromedriver instalado e no PATH)
driver = webdriver.Chrome()

# Abre o WhatsApp Web
driver.get("https://web.whatsapp.com")

# Aguarda até que o usuário faça o login no WhatsApp Web
input("Faça o login no WhatsApp Web e pressione Enter para continuar...")


# Função para enviar uma mensagem
def enviar_mensagem(contato, mensagem):
# Localiza a barra de pesquisa
search_box = driver.find_element(By.XPATH, '//*[@id="side"]/div[1]/div/div/div[2]/div/div[1]/p')
search_box.clear()
search_box.click()

# Digita o nome do contato
search_box.send_keys(contato)
time.sleep(2) # Aguarda um pouco para que a lista de contatos seja atualizada

# Abre a conversa com o contato
contact = driver.find_element(By.XPATH, '//span[@title="' + contato + '"]')
contact.click()

# Localiza o campo de mensagem
message_box = driver.find_element(By.XPATH, '//*[@id="main"]/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]/p')
message_box.clear()

# Digita a mensagem e envia
message_box.send_keys(mensagem)
message_box.send_keys(Keys.ENTER)


# Loop principal do bot
while True:
# Verifica se há mensagens não lidas
unread_messages = driver.find_elements(By.XPATH, '//div[@id="pane-side"]/div/div/div/div[3]/div/div/div/div[2]/div[2]/div[2]/span[1]/div')

# Processa as mensagens não lidas
for message in unread_messages:
contact_name = message.get_attribute("title") # Obtém o nome do contato
message.click() # Abre a conversa

# Obtém o último texto da mensagem recebida
message_text = driver.find_elements(By.XPATH, '//*[@id="main"]/div[2]/div/div[2]/div[2]/div[10]/div/div/div/div[1]/div[1]/div[1]/div/span[1]')

# Envia uma resposta automática
if message_text:
resposta = "Olá, sou um bot e recebi sua mensagem. Em breve entrarei em contato."
enviar_mensagem(contact_name, resposta)

time.sleep(1) # Aguarda um segundo antes de verificar novamente

# Encerra o driver do Selenium
driver.quit()
Link to comment
Compartilhe em outros sites

Agora mesmo, rodrigoo91 disse:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

import time

# Inicializa o driver do Selenium (certifique-se de ter o chromedriver instalado e no PATH)
driver = webdriver.Chrome()

# Abre o WhatsApp Web
driver.get("https://web.whatsapp.com")

# Aguarda até que o usuário faça o login no WhatsApp Web
input("Faça o login no WhatsApp Web e pressione Enter para continuar...")


# Função para enviar uma mensagem
def enviar_mensagem(contato, mensagem):
# Localiza a barra de pesquisa
search_box = driver.find_element(By.XPATH, '//*[@id="side"]/div[1]/div/div/div[2]/div/div[1]/p')
search_box.clear()
search_box.click()

# Digita o nome do contato
search_box.send_keys(contato)
time.sleep(2) # Aguarda um pouco para que a lista de contatos seja atualizada

# Abre a conversa com o contato
contact = driver.find_element(By.XPATH, '//span[@title="' + contato + '"]')
contact.click()

# Localiza o campo de mensagem
message_box = driver.find_element(By.XPATH, '//*[@id="main"]/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]/p')
message_box.clear()

# Digita a mensagem e envia
message_box.send_keys(mensagem)
message_box.send_keys(Keys.ENTER)


# Loop principal do bot
while True:
# Verifica se há mensagens não lidas
unread_messages = driver.find_elements(By.XPATH, '//div[@id="pane-side"]/div/div/div/div[3]/div/div/div/div[2]/div[2]/div[2]/span[1]/div')

# Processa as mensagens não lidas
for message in unread_messages:
contact_name = message.get_attribute("title") # Obtém o nome do contato
message.click() # Abre a conversa

# Obtém o último texto da mensagem recebida
message_text = driver.find_elements(By.XPATH, '//*[@id="main"]/div[2]/div/div[2]/div[2]/div[10]/div/div/div/div[1]/div[1]/div[1]/div/span[1]')

# Envia uma resposta automática
if message_text:
resposta = "Olá, sou um bot e recebi sua mensagem. Em breve entrarei em contato."
enviar_mensagem(contact_name, resposta)

time.sleep(1) # Aguarda um segundo antes de verificar novamente

# Encerra o driver do Selenium
driver.quit()

o código nao esta funcionando, ele abre o navegador, acessar o site do whats, consigo fazer a leitura do qr code, mas depois ele nao faz mais nada.

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...