In Python usando Selenium si può eseguire il click su un bottone, in HTML il tag “button”: ti spiego come tu possa fare in pochi step.
Tra tutte le cose che possiamo fare in Python, abbiamo anche il web scraping.
Per mettere in pratica questa attività abbiamo il potenziale offerto da Selenium!
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Selenium ci permette di fare e automatizzare un sacco di attività legate al web scraping e se stai leggendo questo articolo è perchè vuoi eseguire tramite Selenium un bel click sui bottoni presenti in una pagina web.
Ed è veramente facile: bastano due step.
Primo step: ottenere l’elemento HTML con Selenium
Per eseguire un click con Selenium su un bottone specifico, bisogna prima individuarlo.
Tramite Selenium, lo puoi fare per nome, selettore CSS, tramite classe CSS specifica insomma: un po’ come ti pare.
Ma facciamo un esempio concreto ok?
Nella pagina c’è questo bottone:
<button class="classe_bottone" onclick="eseguiAzione">Cliccami</button>
Identificato dal tag “button“ e per comodità ho impostato la classe CSS come “classe_bottone”.
Perciò, la prima cosa da fare con Selenium, prima ancora del click button, è prendere il bottone dal driver stesso:
from selenium import webdriver
# imposto Google Chrome
driver = webdriver.Chrome(ChromeDriverManager().install())
# mi dirigo sulla pagina web
driver.get("https://ilmiositoweb.com/paginaweb.html")
# prendo il bottone
bottone=driver.find_element_by_class_name("classe_bottone")
Quindi, per la comodità che ti ho detto prima, uso il metodo “find_element_by_class_name” che permette di individuare gli elementi in base alla classe CSS al loro interno e quella selezionata.
Ora che si fa? Quello che vuoi fare te!
Selenium click button
Una volta ottenuto l’elemento HTML tramite il driver, ciò che ci resta da fare per eseguire un bel click sul bottone è banalmente questo:
bottone.click()
Tramite il metodo omonimo puoi eseguire il click sul bottone in una singola riga. Niente di più semplice.
3 commenti
ho questo tipo di warning “ChromeDriverManager” is not defined
Ciao Matteo,
Grazie per il tuo commento: hai modo di condividere lo script per intero?
Grazie, a presto!
ciao Lorenzo, avrei bisogno di contattarti immediatamente per risolvere un esercizio in python (grande urgenza). Come posso contattarti telefonicamente? Sono Diego