Come costruire un semplice bot di accesso automatico con Python e selenio
L'automazione è senza dubbio una delle competenze più ambite che un programmatore possa possedere. L'automazione viene generalmente utilizzata per attività ripetitive, noiose, lunghe o inefficienti senza l'utilizzo di uno script.
Con l' automazione del Web, è possibile creare facilmente un bot per eseguire diverse attività sul Web, ad esempio per monitorare le tariffe alberghiere concorrenti su Internet e determinare il prezzo migliore.
Personalmente, ho sempre trovato l' accesso alla mia email abbastanza ripetitivo e noioso, quindi, per il semplice esempio di iniziare con l'automazione del Web, implementiamo uno script Python automatizzato per accedere con un solo clic a un account Gmail.
Installazione e configurazioneIn questo tutorial useremo i seguenti strumenti :
- Linguaggio di programmazione Python
- Browser Google Chrome
- Toolkit per l'automazione del browser del selenio
- Driver web driver Chrome per Chrome
Per il nostro programma, useremo il linguaggio di programmazione Python, in particolare la versione 2.7.11 . È fondamentale installare una versione abbastanza nuova di Python 2 perché viene fornita con PIP, che ci consentirà di installare pacchetti e framework di terze parti di cui avremo bisogno per automatizzare i nostri script.
Una volta installato, riavvia il computer affinché le modifiche abbiano effetto. Utilizzare il comando pip install selenium
per aggiungere il toolkit di automazione web Selenium a Python. Il selenio ci consentirà di scorrere, copiare testo, compilare moduli e pulsanti di scelta.
Basta scaricare il file ZIP più recente da qui, estrarre l'eseguibile chromedriver.exe
e posizionare l'eseguibile in qualsiasi directory. Assicurati di annotare dove si trova il tuo eseguibile, perché ne avremo bisogno una volta iniziato .
Avvio del programma
Come già accennato, useremo il framework di automazione del web Selenium per accedere in modo programmatico . Il primo ordine del giorno è quello di importare ogni modulo di cui avremo bisogno dalla libreria Selenium Python che abbiamo installato prima con PIP.
Apriamo IDLE o un altro editor di codice, crea un nuovo file Python con estensione .py
e importa i seguenti moduli :
da selenium import webdriver da selenium.webdriver.common.by import Da selenium.webdriver.support.ui import WebDriverWait da selenium.webdriver.support import export_conditions come EC
Successivamente, creeremo due stringhe che rappresentano il nostro nome utente e password per l'account di posta elettronica. Presta attenzione alle lettere maiuscole, in particolare nella stringa della password.
usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere'
Ora che abbiamo tutto pronto per iniziare la procedura di accesso, dobbiamo effettivamente istruire una finestra del browser per aprire Google Chrome e navigare nella pagina di accesso di Gmail .
Se non lo hai già fatto, assicurati che il tuo script Python sia salvato nella stessa posizione dell'eseguibile chromedriver.exe
estratto in precedenza.
browser = webdriver.Chrome () browser.get (('' https://accounts.google.com/ServiceLogin? '' service = mail & continue = https: //mail.google '' .com / mail / # identificatore ')))
Trovare il nostro elemento
Abbiamo ottenuto con successo il browser per aprire Gmail, ma ora abbiamo bisogno di trovare i campi di input sulla pagina web, in cui possiamo inserire il nostro nome utente e password .
Possiamo farlo facilmente utilizzando gli strumenti di sviluppo Chrome integrati. Basta fare clic con il pulsante destro del mouse sui campi di input e selezionare il menu "Ispeziona".
Ora si tratta solo di utilizzare gli attributiid
HTML per trovare gli elementi a livello di codice .Nel codice qui sotto, stiamo semplicemente cercando il campo di inserimento del nome utente per id
e riempiendolo con il testo desiderato. Quindi cerchiamo il pulsante Avanti che transita con un'animazione rapida prima di chiederci la password.
I send_keys()
e click()
fanno esattamente come suggeriscono i loro nomi - send_keys()
simula i tasti send_keys()
nell'elemento desiderato e click()
simula un clic del mouse .
# inserisci nome utente e premi il tasto successivo nomeutente = browser.find_element_by_id ('Email') nomeutente.send_keys (usernameStr) nextButton = browser.find_element_by_id ('next') nextButton.click ()
Possiamo fare la stessa cosa per il campo di inserimento della password, così come per il pulsante Accedi. Tuttavia, questi due elementi vengono visualizzati nella pagina solo dopo una transizione animata .
Detto questo, abbiamo bisogno che il programma attenda alcuni secondi prima di riprendere la ricerca di elementi. Per la maggior parte, questa fase del codice non è diversa dalla precedente. Dobbiamo solo istruire il browser ad attendere un massimo di 10 secondi prima di localizzare la password.
# attendere la transizione quindi continuare a riempire elementi password = WebDriverWait (browser, 10) .until (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_id ('signIn' ) signInButton.click ()
Parole finali
Hai appena finito di creare un bot che visita una pagina web, inserisce il tuo nome utente e password e ti ha registrato con successo, automatizzando l'intero processo con un solo clic. So che questa è stata una semplice dimostrazione, ma le possibilità sono infinite.
Sulla stessa nota, fai attenzione a come usi questa abilità. Alcune persone usano bot e script automatici per partecipare alle lotterie migliaia di volte, ignorando completamente i termini e le condizioni. Altri li usano per intenzioni più dannose.
Assicurati di utilizzare l'automazione in modo mirato e attento, perché è davvero un'abilità molto necessaria nella comunità di programmazione!
Nota del redattore: questo è un post scritto per Hongkiat.com da Malik Brahimi . Malik è uno sviluppatore situato nella zona di Greater Boston, e ama il cibo, il calcio e la programmazione (lingua preferita Python).
- Scarica fonte
12 fantastiche idee per riciclare i tuoi vecchi dispositivi Android
Le statistiche sostengono che la maggior parte delle persone aggiorna i propri smartphone o tablet una volta ogni due anni negli Stati Uniti. Sebbene la stessa cosa potrebbe non essere valida per te, la maggior parte delle persone aggiorna i propri dispositivi a un certo punto nel tempo. Ma la domanda è: cosa farai allora con il tuo vecchio dispositivo Android?
Le scorciatoie toccabili stanno arrivando a Google
La ricerca di informazioni con Google sta per diventare più snella in quanto la società introdurrà scorciatoie toccabili sia per l'app Google, sia per la versione web mobile del motore di ricerca.Una volta che l'app Google è stata aggiornata, gli utenti delle app di Google potranno vedere una serie di scorciatoie sotto la casella di ricerca . To