Nell’articolo precedente abbiamo introdotto gli strumenti necessari per sviluppare il nostro Whatsapp Online Tracker.

Oggi vediamo come unire il tutto per avere una prima versione di questo tool.

Whatsapp Online Tracker Course

Cosa imparerai:

  • Impara Python con un approccio pratico.
  • Usa Selenium per automatizzare applicazioni web.
  • Usa XPath per selezionare un nodo specifico in una pagina web.
  • Sviluppa il tuo bot Telegram.
  • Scrivi la tua libreria Python e sviluppa una completa API Whatapp per le tue applicazioni.
  • Sviluppa un Whataspp Online Tracker che può funzionare in diversi sistemi.
  • Invia una notifica ogni qual volta un utente accede a Whatsapp.
  • Installa tutto su un Raspberry Pi.

Acquista il corso con questo coupon!

La Soluzione

Partiamo subito presentando il codice funzionante, spenderemo poi un po’ di tempo per spiegarne i blocchi più importanti.

E’ importante ricordarsi che affinchè il tool possa funzionare, è necessario avere un numero telefonico con account Whatsapp attivo.

Copy to Clipboard

I Selettori e la Lista Contatti

Come già visto nella prima parte di questa guida, giocano un ruolo fondamentale i selettori XPath.

Grazie a questo strumento siamo in grado di identificare in maniera univoca gli elementi di una pagina web.

Nel nostro caso abbiamo necessità di selezionare i seguenti componenti:

Copy to Clipboard

Con il primo otteniamo un link al pulsante per aprire una nuova chat.

Il secondo invece fornisce un riferimento all’area di testo che compare dopo aver cliccato sul pulsante precedente e che permette l’inserimento del numero telefonico del contatto da controllare.

Il terzo infine ci permette di localizzare il punto dove viene riportato lo stato di connessione di un utente.

Per terminare definiamo anche un dizionario contenente i contatti da controllare. La lista è composta da un nickname e il numero telefonico.

Copy to Clipboard

Il WebDriver

Dopo aver definito le variabili fondamentali rappresentate dai selettori e la lista dei contatti, è tempo di creare l’oggetto che si occuperà di interagire con il browser installato nel nostro computer.

Copy to Clipboard

Con questo, possiamo caricare la pagina di Whatsapp Web e istanziare l’oggetto wait il quale permette a sua volta di definire alcuni comportamenti interessanti:

Copy to Clipboard

Nella riga precedente, si chiede a Selenium di attendere che la pagina aperta mostri il pulsante nuova chat e a quel punto si effettua il clic.

Nel caso in cui sia necessario simulare l’input da tastiera, si fa uso infine della seguente direttiva:

Copy to Clipboard

Come avrai intuito, in questo caso stiamo chiedendo a Selenium di scrivere il numero telefonico del contatto selezionato nella casella di testo che compare dopo aver cliccato sul pulsante nuova chat e, dopo 1 secondo, premere INVIO.

Arrivati a questo punto, non ci resta che attendere qualche secondo e poi controllare che l’etichetta online sia presente sotto al nome dell’utente.

In caso affermativo possiamo dedurre che il contatto è online, viceversa sarà disconnesso.

Copy to Clipboard

Se sei interessato ad estendere la funzionalità del tuo tracker per controllare numeri non presenti in rubrica, dai un’occhiata a questo mio articolo.

Conclusioni

Bene, abbiamo visto quali sono i componenti principali che fanno funzionare il nostro tool.

Una volta terminato lo studio del codice, ci basterà soltanto avviare lo script.

Se tutto è andato a buone fine, dovremmo vedersi aprire una finestra del nostro browser che punta a Whatsapp Web.

Dopo aver fatto il pair del dispositivo tramite QrCode, verrà caricata l’interfaccia principale di Whatsapp Web e Selenium comincerà a controllare iterativamente per noi lo stato di connessione dei contatti specificati.