Wollten Sie jemals Ihren Freunden automatisch Geburtstag wünschen oder eine Reihe von Nachrichten automatisch zu einem voreingestellten Zeitpunkt an Ihren Freund (oder einen Whastapp-Kontakt!) Senden oder Ihre Freunde senden, indem Sie Tausende von zufälligen Texten auf WhatsApp senden? Mit Browser Automation können Sie all das und noch viel mehr tun!

Zuerst müssen Sie diese installieren: -
1) Python Bindings for Selenium (Browser Automation Software)

Pip installieren Selen

2) Chrome-Webtreiber
Laden Sie den Chrome-Treiber hier herunter : Chromedriver-Download-Seite (wählen Sie Ihre spezifische Version aus)

Wie der Bot das macht

Das Skript verwendet das PySelenium-Paket, um ein Chrome-Webdriver-Fenster zu öffnen, in dem alle Aufgaben ausgeführt werden. Es wird geprüft, ob das aktuelle Datum und der aktuelle Monat mit denen in einer JSON-Datei übereinstimmen. Wenn ja, wird das Attribut 'name' zurückgegeben, mit dem der entsprechende Chat im WhatsApp-Web gefunden wird (Suche über xpath ). Das Skript simuliert dann das Klicken auf den Chat, öffnet ihn, gibt die Nachricht in das Chatfeld ein und simuliert einen Klick auf die Schaltfläche Senden.

Was ist JSON?

JSON steht für JavaScript Object Notation. Es ist eine sehr einfache und einfache Art, Daten zu speichern. Obwohl es von JavaScript abgeleitet ist, ist es sprachunabhängig und ähnelt im Aussehen Python-Wörterbüchern. Weitere Informationen zu JSON finden
Sie in diesem Artikel.



Unten ist die Implementierung

import datetime 
  
import json 
   
from selenium import webdriver 
   
import time 
  
eleNM = None 
  
def wish_birth(name): 
    return "Happy Birthday " + name.split(" ")[0] + "!!"
  
def getJsonData(file, attr_ret, attr1, attr2, attr_val1, attr_val2): 
      
    
    data = json.load(file) 
    retv =[] 
  
    
    
    for i in data: 
        if(i[attr1]== attr_val1 and i[attr2]== attr_val2): 
           retv.append(i[attr_ret]) 
    return retv 
  
data_file = open("birthdays.json", "r") 
namev =[] 
print("Script Running") 
  
while True: 
    try: 
        
        datt = datetime.datetime.now() 
        namev = getJsonData(data_file, "name", "birth_month", "birth_date", 
                                           str(datt.month), str(datt.day)) 
  
    except json.decoder.JSONDecodeError: 
        continue
    if(namev !=[]): 
        break
  
chropt = webdriver.ChromeOptions() 
  
chropt.add_argument("user-data-<LOCATION TO YOUR CHROME USER DATA>") 
  
driver = webdriver.Chrome(executable_path ="<LOCATION TO CHROME WEBDRIVER>"
                                                          options = chropt) 
driver.get("https://web.whatsapp.com/") 
  
time.sleep(10) 
  
print(namev) 
  
for inp in namev: 
    try: 
        eleNM = driver.find_element_by_xpath('//span[@title ="{}"]'.format(inp)) 
    except Exception as ex: 
        print(ex) 
        continue
    
    eleNM.click() 
  
    while(True): 
        
        eleTF = driver.find_element_by_class_name("_13mgZ") 
        
        eleTF.send_keys(wish_birth(inp)) 
        
        eleSND = driver.find_element_by_class_name("_3M-N-") 
        
        eleSND.click() 
        break