Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selenium import webdriver
- from selenium.webdriver.firefox.options import Options
- from time import sleep
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- from selenium.webdriver.common.by import By
- from bs4 import BeautifulSoup
- from datetime import datetime
- import requests
- import pyautogui
- import os
- dir_path = os.getcwd()
- chrome = dir_path+'\chromedriver.exe'
- #options = Options()
- options = webdriver.ChromeOptions()
- options.add_argument(r"user-data-dir="+dir_path+"\profile\wpp")
- #options.set_headless(headless=True)
- browser = webdriver.Chrome(chrome, chrome_options=options) # webdriver.Firefox() #firefox_options=options)
- opcoes = "\n Para que possamos ajuda-lo, favor digite uma das opções abaixo: \n 01 - Consultar valores em aberto \n 02 - Suporte com a equipe de T.I. \n 99 - Para finalizar o atendimento \n"
- now = datetime.now()
- hora = now.hour
- saudacao = "Bom"
- contador = 0
- opcao = "."
- browser.get('https://web.whatsapp.com')
- print('Scan and get started')
- bot_users = {}
- while True:
- unread = browser.find_elements_by_class_name("OUeyt")
- if len(unread) > 0:
- ele = unread[-1]
- action = webdriver.common.action_chains.ActionChains(browser)
- action.move_to_element_with_offset(ele, 0, -20)
- try:
- action.click()
- action.perform()
- action.click()
- action.perform()
- except:
- pass
- # O erro provavelmente se encontra aqui.
- # Dado que esse método "find_element_by_class_name"
- # Retorna a primeira aparição do elemento.
- #
- # Vale notar que o número de whatsapp sempre tem a mesma class
- # Logo, após o envio da primeira mensagem ao primeiro usuário
- # Este usuário fica em primeiro lugar na lista lateral na tela
- # E o método o pega como nome, mesmo após a tela principal de outro usuário
- # Estar aberta, pois o nome do usuário o qual a tela principal se abre só
- # Fica no topo da lista lateral após o envio da primeira mensagem
- name = browser.find_element_by_class_name("_2wP_Y").text
- message = browser.find_elements_by_class_name("vW7d1")[-1]
- opcao = message.text[0:len(message.text)-5]
- nome_corrigido = name[0:len(name)-(7+len(opcao))]
- bot_users[nome_corrigido] = True
- if ('01' in opcao):
- if nome_corrigido in bot_users:
- text_box = browser.find_element_by_class_name("_2S1VP")
- response = "Você optou pela opção 01 \n Favor digite o numero do seu registro CGADB"
- print('Opção->'+opcao)
- contador = 000
- text_box.send_keys(response)
- elif ('02' in opcao):
- if nome_corrigido in bot_users:
- text_box = browser.find_element_by_class_name("_2S1VP")
- response = "Você optou pela opção 02 \n nossa equipe de suporte estará iniciando o seu atendimento em alguns segundos \n"
- print('Opção->'+opcao)
- contador = 0
- text_box.send_keys(response)
- #del bot_users[name]
- #break
- elif ('99' in opcao):
- if nome_corrigido in bot_users:
- text_box = browser.find_element_by_class_name("_2S1VP")
- response = "Obrigado por nos contatar caro Ministro"+".\n"
- print('Opção->'+opcao)
- contador = 0
- text_box.send_keys(response)
- #del bot_users[name]
- else:
- bot_users[name] = True
- text_box = browser.find_element_by_class_name("_2S1VP")
- opcao = message.text[0:len(message.text)-5]
- if (contador==1):
- response = "O seu numero de Registro e "+opcao+"\n"
- contador = 1
- print('Opção->'+opcao)
- text_box.send_keys(response)
- else:
- if (hora > 0 and hora < 12):
- saudacao="Bom Dia "
- if (hora > 12 and hora < 18):
- saudacao="Boa Tarde "
- if (hora > 18):
- saudacao="Boa Noite "
- response = "Olá "+nome_corrigido+", \n A Paz do Senhor Jesus \n "+saudacao+opcoes+"\n"
- contador = 0
- print('Opção->'+opcao)
- print('\n Name ->'+nome_corrigido)
- text_box.send_keys(response)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement