Automação WhatsApp Web com Python: Guia Completo para Enviar Mensagens com PyWhatKit

Você já imaginou programar o envio de mensagens com uma automação WhatsApp Web com poucas linhas de código?

Para automatizar o WhatsApp Web com Python, instale o PyWhatKit (pip install pywhatkit) e chame kit.sendwhatmsg_instantly("+55DDDNUMERO", "sua mensagem"): a biblioteca abre o WhatsApp Web no navegador e simula o teclado para enviar. É preciso já estar logado e deixar a janela visível. Para disparos em massa, o caminho é a API oficial do WhatsApp Business, automação de tela viola os termos de uso.

Seja para lembrar alguém de uma reunião, enviar alertas automáticos do seu sistema ou até mesmo automatizar respostas, a boa notícia é: com Python, isso é totalmente possível — e de forma surpreendentemente simples.

Neste artigo, vamos explorar como enviar mensagens pelo WhatsApp com Python utilizando a biblioteca PyWhatKit, entender o que acontece nos bastidores, lidar com possíveis erros e ainda discutir boas práticas!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

O que você aprende neste vídeo

Resposta rápida: Enviar mensagem no WhatsApp com Python leva duas linhas: instale a biblioteca com pip install pywhatkit, importe e chame a função de envio instantâneo passando o número com código do país e o texto. Ela controla mouse e teclado sobre o WhatsApp Web já conectado no navegador, então precisa rodar na tela principal do computador.

Neste vídeo (9 min):

  • 0:40 - Conhecer o PyWhatKit, biblioteca que automatiza mouse e teclado
  • 1:02 - Deixar o WhatsApp Web já vinculado no navegador que você costuma usar
  • 1:20 - Instalar a biblioteca com pip install pywhatkit no terminal
  • 1:42 - Importar a biblioteca com o apelido kit, como na documentação
  • 2:05 - Chamar a função de envio instantâneo com o número e a mensagem
  • 2:25 - Escrever o número com o sinal de mais, código do país e DDD
  • 2:55 - Rodar e ver o WhatsApp Web abrir, carregar e enviar sozinho
  • 3:38 - Rodar a automação na tela principal, que é a única considerada
  • 4:15 - Partir para o Selenium quando precisar rodar em segundo plano
  • 4:50 - Agendar a mensagem para uma hora e um minuto específicos
  • 5:20 - Deixar pelo menos dois minutos de folga, senão vira envio instantâneo
  • 7:50 - Lembrar que não é a API oficial e usar com cautela em volume alto

Trechos do vídeo:

  • O pré-requisito é ter o WhatsApp Web vinculado no navegador que você usa no computador.
  • Se você usa duas telas, faça essa automação sempre na tela principal do computador.
  • Ao agendar, a mensagem precisa estar pelo menos dois minutos à frente do horário atual.
  • Como não é a API oficial, use com cautela em envios de muito volume.

Para receber por e-mail o(s) arquivo(s) que utilizamos na aula, preencha:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

Por que automatizar o envio de mensagens no WhatsApp?

O WhatsApp é, hoje, uma das principais ferramentas de comunicação no Brasil e no mundo. Empresas o utilizam para atendimento ao cliente, promoções, agendamentos, cobranças e muito mais. Automatizar mensagens pode ajudar em várias situações:

  • Lembretes de compromissos e reuniões
  • Alertas automáticos de sistemas (por exemplo, um script que avisa quando algo deu errado)
  • Mensagens de marketing ou aniversário
  • Interações com clientes sem depender de plataformas pagas

Conhecendo a biblioteca PyWhatKit

A biblioteca PyWhatKit foi criada para simplificar tarefas comumente realizadas com Python, como abrir vídeos no YouTube, realizar pesquisas no Google, desenhar com Turtle, e — a função que nos interessa aqui — enviar mensagens no WhatsApp.

Instale com:

Terminal
pip install pywhatkit

Ela depende de bibliotecas como pyautogui, keyboard e time, que manipulam o mouse, o teclado e o relógio do sistema para simular ações humanas, como clicar e digitar.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Enviando uma mensagem instantânea com Python

O envio mais simples de uma mensagem funciona com o seguinte código:

Python
import pywhatkit as kit

kit.sendwhatmsg_instantly("+55DDDNUMERO", "Olá! Esta mensagem foi enviada com Python!")

Substitua +55DDDNUMERO pelo número desejado, incluindo o DDD e o código do país (no caso do Brasil, +55). Ao rodar esse script, ele abrirá automaticamente o navegador, acessará o WhatsApp Web e enviará a mensagem digitada.

O que está acontecendo por trás?

Ao usar sendwhatmsg_instantly(), a biblioteca realiza os seguintes passos:

  1. Abre o navegador padrão e carrega o WhatsApp Web
  2. Espera alguns segundos para que a página carregue
  3. Simula teclas para digitar a mensagem no campo de texto
  4. Simula o pressionamento da tecla Enter para enviar

Ou seja, o script não se conecta diretamente aos servidores do WhatsApp, ele apenas automatiza o uso do WhatsApp Web. Isso torna o método simples e eficaz, mas também traz algumas limitações.

Variação com agendamento de horário

Você também pode agendar uma mensagem para uma hora específica:

Python
kit.sendwhatmsg("+55DDDNUMERO", "Mensagem agendada com Python!", 20, 45)

Esse exemplo enviará a mensagem às 20h45. O script precisa ser iniciado pelo menos 2 minutos antes do horário agendado, senão ocorrerá um erro.

Cuidados importantes

Apesar da simplicidade, é importante estar atento a alguns pontos:

1. Tela principal e monitores múltiplos

O PyWhatKit simula cliques e digitação. Se você estiver usando múltiplos monitores ou com a tela bloqueada, o processo pode falhar. Deixe o WhatsApp Web visível e evite tocar no teclado e mouse durante a automação.

2. Login no WhatsApp Web

Certifique-se de estar logado previamente no WhatsApp Web. Caso contrário, o script abrirá a página, mas não poderá enviar a mensagem até que você escaneie o QR code.

3. Riscos de uso indevido

Evite usar automações para envio em massa ou spam, pois isso viola os termos de uso do WhatsApp. Use a ferramenta de forma ética e responsável.

Erros comuns e como evitá-los

Erro: FileNotFoundError: 'chrome' not found

Esse erro acontece se o navegador padrão não for o Google Chrome ou se ele não estiver acessível pelo terminal. Soluções:

  • Use outro navegador como padrão (o PyWhatKit tenta usar o navegador padrão do sistema).
  • Defina manualmente o caminho do navegador com webbrowser.register().

Erro: pyautogui.FailSafeException

Se você mover o mouse rapidamente para o canto superior esquerdo da tela, o PyAutoGUI interpreta como um sinal de emergência e interrompe o script. Isso é uma funcionalidade de segurança.

Você pode desativar esse comportamento com:

Python
import pyautogui

pyautogui.FAILSAFE = False

Alternativas mais avançadas: Selenium

Para aplicações mais robustas, que precisam rodar sem abrir o navegador visivelmente ou com lógica condicional mais sofisticada, o ideal é utilizar o Selenium, uma biblioteca para automação de navegadores baseada em drivers de controle como o ChromeDriver.

Com o Selenium, você pode:

  • Controlar o WhatsApp Web em segundo plano
  • Detectar mensagens recebidas
  • Criar bots de resposta automática
  • Realizar testes automatizados em páginas web

Entretanto, o uso do Selenium com o WhatsApp requer mais código, tratamento de sessão e armazenamento de cookies para manter o login.

Casos de uso reais

Aqui vão algumas ideias de uso do PyWhatKit no seu dia a dia:

  • Lembretes pessoais: mensagens automáticas para você mesmo sobre tarefas importantes.
  • Avisos para equipe: "Bom dia, time! A reunião começa em 30 minutos!"
  • Alertas do sistema: Um script Python que detecta falhas e notifica seu número.
  • Notificações de vendas: ao realizar uma venda, enviar uma mensagem para o vendedor.

Conclusão

Automatizar o WhatsApp com Python é uma forma prática e divertida de aplicar seus conhecimentos em programação no dia a dia. Com a biblioteca PyWhatKit, você consegue fazer isso com pouquíssimas linhas de código, tornando-se uma excelente porta de entrada para quem está começando na automação de tarefas.

Mas lembre-se: use com responsabilidade e respeite os limites da plataforma.

Se você gostou deste conteúdo, veja também nossos outros posts sobre Python no nosso blog!

Perguntas frequentes

1. Preciso estar logado no WhatsApp Web para o script funcionar?

Sim. O PyWhatKit não conversa com os servidores do WhatsApp: ele abre o WhatsApp Web no seu navegador e simula teclado e mouse. Sem uma sessão já ativa, o script para na tela do QR code.

2. Como agendar uma mensagem para um horário específico?

Use kit.sendwhatmsg("+55DDDNUMERO", "mensagem", 20, 45) para enviar às 20h45. Inicie o script pelo menos 2 minutos antes do horário marcado, senão a biblioteca acusa erro de horário inválido.

3. Dá para enviar mensagens em massa com o PyWhatKit?

Não é o caminho recomendado: disparo em massa por automação de tela viola os termos de uso do WhatsApp e pode derrubar o número. Para volume, use a API oficial do WhatsApp Business (Cloud API).

4. A mensagem é digitada mas não é enviada. O que fazer?

Quase sempre é a janela perdendo o foco ou o WhatsApp Web ainda carregando. Aumente a espera com o parâmetro wait_time, mantenha o navegador em primeiro plano no monitor principal e não use mouse nem teclado enquanto o script roda.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos