Kennismaken met Selenium
Ga aan de slag met Selenium, een krachtige tool voor browserautomatisering en het scrapen van door JavaScript gegenereerde inhoud.
Kennismaken met Selenium is een gratis Webscraping en bots-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Webscraping en bots. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Webscraping en bots bevat in totaal 4 lessen.
Uitdaging: dynamische inhoud
De meeste websites van tegenwoordig zijn geen statische pagina's. Ze gebruiken JavaScript om inhoud te laden nadat de eerste pagina is weergegeven.
Denk aan feeds van sociale media, zoekresultaten die worden bijgewerkt terwijl je scrolt of interactieve formulieren. Traditionele scrapingtools, zoals Requests, missen deze inhoud vaak omdat ze alleen de oorspronkelijke HTML ophalen.
Maak kennis met Selenium WebDriver
Selenium WebDriver is een krachtig hulpmiddel dat is ontworpen om webbrowsers te automatiseren. In tegenstelling tot bibliotheken die alleen HTML ophalen, start Selenium daadwerkelijk een echte browser, zoals Chrome of Firefox.
Daardoor kan het JavaScript uitvoeren, met elementen werken en de webpagina precies zien zoals een menselijke gebruiker dat zou doen. Dat maakt het ideaal voor dynamische inhoud.
Het basisidee van Selenium
Selenium werkt door opdrachten naar een specifieke browserdriver te sturen, zoals ChromeDriver voor Chrome of GeckoDriver voor Firefox.
- Je Python-script vertelt de driver welke acties moeten worden uitgevoerd.
- De driver bestuurt vervolgens de echte browser.
- De browser voert deze acties uit (navigeren, klikken en typen) en stuurt de bijgewerkte paginastatus of gegevens terug.
De Selenium-bibliotheek installeren
Eerst installeren we de Selenium-bibliotheek voor Python. Dat kun je doen met pip, de pakketinstaller van Python.
Open je terminal of opdrachtprompt en voer het volgende uit:
pip install seleniumDeze opdracht downloadt en installeert de benodigde Python-onderdelen om met browsers te werken.
Je browserdriver ophalen
Selenium heeft een specifieke browserdriver nodig om je browser te besturen. Voor Chrome heb je ChromeDriver nodig. Voor Firefox is dat GeckoDriver.
1. Controleer je browserversie (bijvoorbeeld Chrome -> Help -> Over Google Chrome).
2. Download de bijbehorende driver van de officiële website:
- ChromeDriver: chromedriver.chromium.org
- GeckoDriver: github.com/mozilla/geckodriver
Plaats het gedownloade uitvoerbare driverbestand (bijvoorbeeld chromedriver.exe) op een locatie die toegankelijk is via het PATH van je systeem, of noteer het volledige pad.
Je eerste browser starten
We schrijven ons eerste script om met Selenium WebDriver een Chrome-browservenster te openen.
Zorg ervoor dat je chromedriver toegankelijk is (in je PATH, of geef het pad rechtstreeks op in het object Service).
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import time
def main():
driver = None
try:
# IMPORTANT: Ensure ChromeDriver is installed and in your system PATH.
# If not, specify its path directly:
# service = Service("/path/to/your/chromedriver")
# driver = webdriver.Chrome(service=service)
driver = webdriver.Chrome() # Assumes chromedriver is in PATH
print("Chrome browser launched successfully!")
time.sleep(5) # Keep browser open for 5 seconds to observe
except Exception as e:
print(f"An error occurred: {e}")
finally:
if driver:
driver.quit() # Always close the browser
print("Browser closed.")
if __name__ == "__main__":
main()Naar een webpagina gaan
Wanneer de browser is geopend, kun je deze met de methode .get() naar elke URL laten navigeren.
Dit is hetzelfde als een URL in de adresbalk typen en op Enter drukken. De browser laadt de pagina, inclusief eventuele JavaScript-inhoud.
from selenium import webdriver
import time
def main():
driver = None
try:
driver = webdriver.Chrome()
print("Browser launched.")
print("Navigating to example.com...")
driver.get("https://www.example.com")
print(f"Current page title: {driver.title}")
print(f"Current URL: {driver.current_url}")
time.sleep(5) # Keep browser open to see the page
except Exception as e:
print(f"An error occurred: {e}")
finally:
if driver:
driver.quit()
print("Browser closed.")
if __name__ == "__main__":
main()Wachten op inhoud
Het duurt vaak even voordat webpagina's volledig zijn geladen, vooral bij dynamische inhoud. Selenium biedt manieren om te wachten tot elementen verschijnen.
Voor nu gebruiken we een eenvoudige time.sleep() om de uitvoering te pauzeren. In latere lessen behandelen we robuustere expliciete en impliciete wachttijden, die efficiënter zijn.
time.sleep(seconds): pauzeert de uitvoering gedurende een vaste tijd.
Sluit je browser altijd
Het is belangrijk om het browservenster te sluiten zodra je script klaar is. Zo maak je systeembronnen vrij en voorkom je achterblijvende browserprocessen.
Gebruik de methode .quit() op je WebDriver-instantie. Hiermee sluit je de browser en beëindig je de WebDriver-sessie netjes.
from selenium import webdriver
import time
def main():
driver = None
try:
driver = webdriver.Chrome()
print("Browser launched.")
driver.get("https://www.example.com")
print(f"Navigated to: {driver.current_url}")
time.sleep(3) # Wait a bit to see the page
except Exception as e:
print(f"An error occurred: {e}")
finally:
if driver:
driver.quit() # This line closes the browser window
print("Browser closed successfully!")
if __name__ == "__main__":
main()Korte controle
Je hebt je eerste browser met Selenium gestart! Wat is het belangrijkste doel van Selenium WebDriver in vergelijking met bibliotheken zoals Requests voor webscraping?
Samenvatting en volgende stappen
In deze les heb je geleerd:
- waarom Selenium essentieel is voor het verwerken van dynamische webinhoud;
- hoe je de Selenium-bibliotheek installeert en een browserdriver verkrijgt;
- hoe je een browser start, naar een URL navigeert en de sessie netjes afsluit.
Hierna gaan we dieper in op het automatiseren van browserinteracties, zoals klikken, formulieren verzenden en specifieke elementen op een pagina vinden!
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Kennismaken met Selenium” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Webscraping en bots, waaronder “Kennismaken met Selenium”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Webscraping en bots bevat in totaal 4 lessen.
Wat leer ik in “Kennismaken met Selenium”?
Ga aan de slag met Selenium, een krachtige tool voor browserautomatisering en het scrapen van door JavaScript gegenereerde inhoud. Je oefent met Webscraping en bots door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Webscraping en bots te beginnen?
Ervaring vooraf is niet nodig. Webscraping en bots op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Kennismaken met Selenium”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Webscraping en bots?
Ja. Elke les over Webscraping en bots bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Kennismaken met Selenium
- Browserinteracties automatiseren
- Gegevens uit JavaScript extraheren
- Wachtstrategieën voor dynamische pagina's