Tenho o seguinte script:
import pandas as pd
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from time import sleep
# Lê o arquivo CSV
contatos_df = pd.read_csv("C:/Users/luizc/OneDrive/Documents/Documentos/RobosApp/Robôs WhatsApp/Robô ativo/Arquivos originais - Robô ativo/Enviar.csv")
# Inicializa o navegador
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)
driver.get('https://web.whatsapp.com/')
input("Pressione enter após fazer o scan do QR Code")
# Envia as mensagens
for i, mensagem in enumerate(contatos_df['Mensagem']):
pessoa = contatos_df.loc[i, "Pessoa"]
numero = contatos_df.loc[i, "Número"]
mensagem = contatos_df.loc[i, "Mensagem"]
# Acessa o perfil da pessoa
url = f'https://web.whatsapp.com/send?phone={numero}&text={mensagem}'
driver.get(url)
sleep(10) # espera a página carregar
# Envia a mensagem
try:
botao_enviar = driver.find_element_by_xpath("//span[@data-icon='send']")
botao_enviar.click()
except:
pass
# Fecha o navegador
driver.quit()
Ele apresenta o seguinte erro:
KeyError Traceback (most recent call last)
~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
3801 try:
-> 3802 return self._engine.get_loc(casted_key)
3803 except KeyError as err:
~\anaconda3\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
~\anaconda3\lib\site-packages\pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'Mensagem'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_8340\3065382544.py in <module>
15
16 # Envia as mensagens
---> 17 for i, mensagem in enumerate(contatos_df['Mensagem']):
18 pessoa = contatos_df.loc[i, "Pessoa"]
19 numero = contatos_df.loc[i, "Número"]
~\anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
3805 if self.columns.nlevels > 1:
3806 return self._getitem_multilevel(key)
-> 3807 indexer = self.columns.get_loc(key)
3808 if is_integer(indexer):
3809 indexer = [indexer]
~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
3802 return self._engine.get_loc(casted_key)
3803 except KeyError as err:
-> 3804 raise KeyError(key) from err
3805 except TypeError:
3806 # If we have a listlike key, _check_indexing_error will raise
KeyError: 'Mensagem'
Tentei encontrar o erro pelo Chat GPT, mas não cheguei a raíz: ele acusou algumas possibilidades, como: erro de digitação na coluna, inexistência da coluna, coluna referenciada de forma errada, etc. Tudo isso está correto.
Mais uma coisa: usei a função print para verificar se a coluna aparece, e ela aparece.
Alguém pode me ajudar?