Advertisement
Guest User

Untitled

a guest
May 21st, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.60 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.firefox.options import Options
  3. from time import sleep
  4. from selenium.webdriver.support.ui import WebDriverWait
  5. from selenium.webdriver.support import expected_conditions as EC
  6. from selenium.webdriver.common.by import By
  7. from bs4 import BeautifulSoup
  8. from datetime import datetime
  9. import requests
  10. import pyautogui
  11. import os
  12.  
  13.  
  14. dir_path = os.getcwd()
  15. chrome = dir_path+'\chromedriver.exe'
  16.  
  17. #options    = Options()
  18. options = webdriver.ChromeOptions()
  19. options.add_argument(r"user-data-dir="+dir_path+"\profile\wpp")
  20. #options.set_headless(headless=True)
  21. browser    = webdriver.Chrome(chrome, chrome_options=options) # webdriver.Firefox() #firefox_options=options)
  22.  
  23. 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"
  24. now        = datetime.now()
  25. hora       = now.hour
  26. saudacao   = "Bom"
  27. contador   = 0
  28. opcao      = "."
  29. browser.get('https://web.whatsapp.com')
  30. print('Scan and get started')
  31.  
  32.  
  33. bot_users = {}
  34.  
  35. while True:
  36.     unread = browser.find_elements_by_class_name("OUeyt")
  37.     if len(unread) > 0:
  38.        
  39.         ele = unread[-1]
  40.         action = webdriver.common.action_chains.ActionChains(browser)
  41.         action.move_to_element_with_offset(ele, 0, -20)
  42.         try:
  43.             action.click()
  44.             action.perform()
  45.             action.click()
  46.             action.perform()
  47.         except:
  48.             pass
  49.        
  50.         # O erro provavelmente se encontra aqui.
  51.         # Dado que esse método "find_element_by_class_name"
  52.         # Retorna a primeira aparição do elemento.
  53.         #
  54.         # Vale notar que o número de whatsapp sempre tem a mesma class  
  55.         # Logo, após o envio da primeira mensagem ao primeiro usuário
  56.         # Este usuário fica em primeiro lugar na lista lateral na tela
  57.         # E o método o pega como nome, mesmo após a tela principal de outro usuário
  58.         # Estar aberta, pois o nome do usuário o qual a tela principal se abre só
  59.         # Fica no topo da lista lateral após o envio da primeira mensagem
  60.         name = browser.find_element_by_class_name("_2wP_Y").text
  61.              
  62.         message = browser.find_elements_by_class_name("vW7d1")[-1]
  63.         opcao = message.text[0:len(message.text)-5]
  64.         nome_corrigido = name[0:len(name)-(7+len(opcao))]
  65.         bot_users[nome_corrigido] = True
  66.  
  67.        
  68.         if ('01' in opcao):
  69.             if nome_corrigido in bot_users:
  70.                 text_box = browser.find_element_by_class_name("_2S1VP")
  71.                 response = "Você optou pela opção 01 \n Favor digite o numero do seu registro CGADB"
  72.                 print('Opção->'+opcao)
  73.                 contador = 000
  74.                 text_box.send_keys(response)
  75.         elif ('02' in opcao):
  76.             if nome_corrigido in bot_users:
  77.                 text_box = browser.find_element_by_class_name("_2S1VP")
  78.                 response = "Você optou pela opção 02 \n nossa equipe de suporte estará iniciando o seu atendimento em alguns segundos \n"
  79.                 print('Opção->'+opcao)
  80.                 contador = 0
  81.                 text_box.send_keys(response)
  82.                 #del bot_users[name]
  83.                 #break
  84.         elif ('99' in opcao):
  85.             if nome_corrigido in bot_users:
  86.                 text_box = browser.find_element_by_class_name("_2S1VP")
  87.                 response = "Obrigado por nos contatar caro Ministro"+".\n"
  88.                 print('Opção->'+opcao)
  89.                 contador = 0
  90.                 text_box.send_keys(response)
  91.                 #del bot_users[name]
  92.         else:
  93.             bot_users[name] = True
  94.             text_box = browser.find_element_by_class_name("_2S1VP")
  95.             opcao = message.text[0:len(message.text)-5]
  96.             if (contador==1):
  97.                 response = "O seu numero de Registro e "+opcao+"\n"
  98.                 contador = 1
  99.                 print('Opção->'+opcao)
  100.                 text_box.send_keys(response)
  101.             else:
  102.                 if (hora > 0 and hora < 12):
  103.                      saudacao="Bom Dia "
  104.                 if (hora > 12 and hora < 18):
  105.                      saudacao="Boa Tarde "
  106.                 if (hora > 18):
  107.                      saudacao="Boa Noite "
  108.  
  109.                 response = "Olá "+nome_corrigido+", \n A Paz do Senhor Jesus \n "+saudacao+opcoes+"\n"
  110.                 contador = 0
  111.                 print('Opção->'+opcao)
  112.                 print('\n Name ->'+nome_corrigido)
  113.                 text_box.send_keys(response)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement