Olá, não tenho experiência alguma com linguagem de programação. Estou aprendendo por manuais, videos grupos etc.
Mas não consegui encontrar na da para me ajudar a descobrir o que fiz de errado no código a seguir.
Preciso percorrer uma lista com nomes e telefones e enviar via whats. só consigo enviar o primeiro item, quando aparecer o erro gostaria de pular para o seguinte e continuar com o código rodando dentro do for até o final da lista.
Onde estou errando? E como resolvo por gentileza.
# bibliotecas do selenium
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from
selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import urllib
servico = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=servico)
driver.get("
https://web.whatsapp.com/")
# já estamos com o login feito no whatsapp web
# Texto a ser enviado
texto = urllib.parse.quote('Olá, texto')
contador = 0
erro_count = 0
s = 0
erro = []
for i, mensagem in enumerate(df_enviar['cliente']):
pessoa = df_enviar.loc[i, 'cliente']
numero = df_enviar.loc[i, "telefone"]
contador += 1
# Aguarda abertura e conexão do whatsapp
while len(driver.find_elements_by_id("side")) < 1:
time.sleep(1)
try:
link = f"
https://web.whatsapp.com/send?phone={numero}&text={texto}"
driver.get(link)
xpath_value = '//*[@id="main"]/footer/div[1]/div/span[2]/div/div[2]/div[1]/div/div[1]/p'
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, xpath_value))).send_keys(Keys.ENTER)
print(f'{contador} - Nome: {pessoa}')
s = s + 1
except:
erro_count += 1
erro.append([pessoa, numero])
finally:
continue
print(f'Resultado final => soma = {s}, último cadastro: {pessoa}, telefone: {numero}, index: {i}\n\nLista erro => {erro}')
Grato
Roberto Balbinotti