it.hideout-lastation.com
Paradiso Per Designer E Sviluppatori


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 configurazione

In questo tutorial useremo i seguenti strumenti :

  1. Linguaggio di programmazione Python
  2. Browser Google Chrome
  3. Toolkit per l'automazione del browser del selenio
  4. 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.

Infine, scarica il file eseguibile del Selenium Chrome Driver, che aprirà Google Chrome come necessario per eseguire le nostre attività automatizzate. Il Chrome Driver è semplicemente un modo per aprire Google Chrome (che dovrebbe essere già installato) per accedere alle operazioni standard del browser a livello di programmazione .

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 attributi id 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

Sviluppo di app: 10 migliori bug e strumenti di tracciamento degli utenti

Sviluppo di app: 10 migliori bug e strumenti di tracciamento degli utenti

Sebbene il bug tracking sia uno dei compiti più importanti quando la tua app è ancora in fase di sviluppo, i problemi possono ancora aumentare nella fase di produzione dopo che la tua app è andata online. Nel processo di "raccolta dei bug", può anche essere utile consentire ai tuoi utenti di fornirti un feedback immediato o consentire loro di porre domande nel caso in cui non capiscano come funziona la tua app. I

(Consigli tecnici e di design)

Patch su Linux, gli hacker sfruttano attivamente il difetto "Dirty COW"

Patch su Linux, gli hacker sfruttano attivamente il difetto "Dirty COW"

Se possiedi un server, un computer, un telefono Android o qualsiasi altro dispositivo che esegue Linux, devi leggerlo. Gli hacker hanno iniziato a sfruttare un difetto di sicurezza del kernel Linux noto come "Dirty COW"."Dirty COW" è un bug di escalation di privilegi che interessa tutti i sistemi operativi basati su Linux.

(Consigli tecnici e di design)