Come aggiornare la pagina con selenio

Come aggiornare la pagina con selenio
Le pagine Web rinfrescanti sono un'azione molto comune. Aggiorniamo la pagina web per vedere i risultati aggiornati. La stessa cosa è vera per i test del browser, l'automazione Web e il raschiatura Web con il driver Web Selenium.

In questo articolo, ti mostrerò come aggiornare una pagina con la biblioteca di Selenium Python. Quindi iniziamo.

Prerequisiti:

Per provare i comandi e gli esempi di questo articolo, devi avere,

1) Una distribuzione Linux (preferibilmente Ubuntu) installata sul tuo computer.
2) Python 3 installato sul tuo computer.
3) PIP 3 installato sul tuo computer.
4) Python Virtualenv pacchetto installato sul tuo computer.
5) Mozilla Firefox o browser Web di Google Chrome installati sul tuo computer.
6) Deve sapere come installare il driver GECKO Firefox o il driver Web Chrome.

Per soddisfare i requisiti 4, 5 e 6, leggi il mio articolo Introduzione al selenio con Python 3 a Linuxhint.com.

Puoi trovare molti articoli sugli altri argomenti su Linuxhint.com. Assicurati di verificarli se hai bisogno di assistenza.

Impostazione di una directory del progetto:

Per mantenere tutto organizzato, crea una nuova directory di progetto selenio-refresh/ come segue:

$ mkdir -pv selenio -refresh/driver

Navigare verso il selenio-refresh/ Directory del progetto come segue:

$ cd selenio-refresh/

Crea un ambiente virtuale Python nella directory del progetto come segue:

$ virtualenv .Venv

Attiva l'ambiente virtuale come segue:

$ fonte .venv/bin/attiva

Installa la libreria di Selenio Python utilizzando PIP3 come segue:

$ PIP3 Installa selenio

Scarica e installa tutto il driver Web richiesto in autisti/ directory del progetto. Ho spiegato il processo di download e installazione di Web driver nel mio articolo Introduzione al selenio con Python 3. Se hai bisogno di assistenza, cerca Linuxhint.com per quell'articolo.

Metodo 1: utilizzando il metodo del browser di aggiornamento ()

Il primo metodo è il metodo più semplice e consigliato della pagina rinfrescante con selenio.

Crea un nuovo script Python ex01.Py in e digita le seguenti righe di codici in esso.

dal webdriver di import selenio
da selenio.Webdriver.comune.tasti di importazione delle chiavi
Dal tempo Import Sleep
Opzioni = WebDriver.Chromeoptions ()
opzioni.senza testa = vero
browser = webdriver.Chrome (Executable_Path = "./driver/chromedriver ", options = options)
browser.get ("https: // www.UnixTimestamp.com/")
timestamp = browser.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Stampa ('Timestamp corrente: % s' % (timestamp.testo.split (") [0]))
sonno (5)
browser.ricaricare()
timestamp = browser.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Stampa ('Timestamp corrente: % s' % (timestamp.testo.split (") [0]))
browser.vicino()

Una volta che hai finito, salva il ex01.Py Script di Python.

La linea 1 e 2 importano tutti i componenti di selenio richiesti.

Linea 3 Importa la funzione Sleep () dalla libreria Time. Lo userò per attendere qualche secondo per l'aggiornamento della pagina Web in modo da poter recuperare nuovi dati dopo aver aggiornato la pagina web.

La riga 5 crea un oggetto Opzioni Chrome e la riga 6 consente la modalità senza testa per il browser Web Chrome.

La riga 8 crea un cromo browser oggetto usando il Chromedriver binario dal autisti/ directory del progetto.

La riga 9 dice al browser di caricare il sito Web unixtimestamp.com.

La riga 11 trova l'elemento che ha i dati Timestamp dalla pagina utilizzando XPath Selector e lo memorizza nel timestamp variabile.

La riga 12 analizza i dati del timestamp dall'elemento e li stampa sulla console.

La riga 14 utilizza il sonno() funzione per aspettare 5 secondi.

La riga 15 aggiorna la pagina corrente utilizzando il browser.ricaricare() metodo.

La riga 17 e 18 è la stessa della linea 11 e 12. Trova l'elemento timestamp dalla pagina e stampa il timestamp aggiornato sulla console.

La riga 20 chiude il browser.

Esegui lo script Python ex01.Py come segue:

$ Python3 Ex01.Py

Come puoi vedere, il timestamp è stampato sulla console.

Dopo 5 secondi di stampa il primo timestamp, la pagina viene aggiornata e il timestamp aggiornato viene stampato sulla console, come puoi vedere nello screenshot seguente.

Metodo 2: rivisitare lo stesso URL

Il secondo metodo di aggiornamento della pagina è rivisitare lo stesso URL usando il browser.Ottenere() metodo.

Crea uno script Python ex02.Py nella directory del tuo progetto e digita le seguenti righe di codici in esso.

dal webdriver di import selenio
da selenio.Webdriver.comune.tasti di importazione delle chiavi
Dal tempo Import Sleep
Opzioni = WebDriver.Chromeoptions ()
opzioni.senza testa = vero
browser = webdriver.Chrome (Executable_Path = "./driver/chromedriver ", options = options)
browser.get ("https: // www.UnixTimestamp.com/")
timestamp = browser.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Stampa ('Timestamp corrente: % s' % (timestamp.testo.split (") [0]))
sonno (5)
browser.Ottieni (browser.current_url)
timestamp = browser.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Stampa ('Timestamp corrente: % s' % (timestamp.testo.split (") [0]))
browser.vicino()

Una volta che hai finito, salva il ex02.Py Script di Python.

Tutto è lo stesso di Ex01.Py. L'unica differenza è nella riga 15.

Qui, sto usando il browser.Ottenere() Metodo per visitare l'URL della pagina corrente. È possibile accedere all'URL di pagina corrente utilizzando il browser.Current_url proprietà.

Corri il ex02.Py Script Python come segue:

$ Python3 Ex02.Py

Come puoi vedere, la sceneggiatura di Pythion ex02.Py Stampa lo stesso tipo di informazioni che in ex01.Py.

Conclusione:

In questo articolo, ti ho mostrato 2 metodi per rinfrescare la pagina web corrente utilizzando la libreria di selenio Python. Dovresti essere in grado di fare cose più interessanti con selenio ora.