Selenium Python Handledning med WebDriver (exempel)

⚡ Smart sammanfattning

Selenium med Python parar ihop WebDriver-automatiseringsbiblioteket med Python koncis syntax för att testa webbapplikationer överallt Firefox, Chrome och Internet Explorer. Den här genomgången konfigurerar PyDev in Eclipse, skriver inloggningsskript och förklarar varför team föredrar Python över Java.

  • 🐍 Python Fördel: Less verbös syntax gör Selenium skript som är enklare att läsa och underhålla.
  • 🌐 WebDriver: Skickar standardkommandon till Firefox, Chrome och IE oavsett webbläsarens design.
  • 🧩 PyDev Setup: installera PyDev plugin in Eclipse och ställa in Python tolk.
  • 📝 Inloggningsskript: Leta reda på fält efter ID, skicka nycklar och skicka in formuläret automatiskt.
  • Titelpåstående: WebDriverWait plus assert verifierar sidtiteln efter inloggning.
  • 🤖 AI Assist: AI-verktyg genererar positionerare och Selenium Python skript från vanliga prompter.

Selenium Python Handledning med WebDriver

Selenium med Python

Selenium stöder Python och därmed kan användas som Selenium WebDriver med Python för provning.

  • Python är enkelt jämfört med andra programmeringsspråk, med betydligt mindre utförlig syntax.
  • Ocuco-landskapet Python API:er ger dig möjlighet att ansluta till webbläsaren via Selenium.
  • Selenium skickar standarden Python kommandon till olika webbläsare, trots variationer i deras webbläsardesign.

Du kan springa Selenium med Python skript för Firefox, Chrome, IE, etc. på olika operativsystem.

Vad är Python?

Python är ett objektorienterat skriptspråk på hög nivå. Den är designad på ett användarvänligt sätt. Python använder enkla engelska nyckelord som är lätta att tolka. Den har färre syntaxkomplikationer än någon annan programmeringsspråk.

Se några av exemplen i tabellen nedan.

Nyckelord Betydelse Användning
elif Annars om Annars om
annars annars om: X; elif: Y; annat: J
utom Gör detta om ett undantag inträffar förutom ValueError, a: print a
exec Kör sträng som Python exec 'skriv ut "hej världen!"'

Vad är Selenium?

Selenium är ett verktyg för att testa din webbapplikation. Du kan göra detta på olika sätt, till exempel:

  • Tillåt den att trycka på knappar.
  • Ange innehåll i formulär.
  • Skumma din webbplats för att kontrollera om allt är "OK" och så vidare.

Hur man installerar och konfigurerar PyDev in Eclipse

PyDev är Python utvecklingsmiljö för Eclipse.

Steg 1) Gå till Eclipse Marketplace. Hjälp > Installera ny programvara.

Installera och konfigurera PyDev in Eclipse

Nästa steg är att installera "pydev IDE" för Eclipse.

Steg 2) I det här steget:

  1. Sök efter “http://pydev.org/updates” i Arbeta med, och sedan
  2. Markera alla listade objekt och klicka två gånger på Nästa.
  3. Godkänn licensavtalet och klicka på Slutför.

Installera och konfigurera PyDev in Eclipse

Steg 3) Du kan få en säkerhetsvarning. Klicka på ”Installera ändå”.

Installera och konfigurera PyDev in Eclipse

Steg 4) Ange inställningar så att du kan använda Python enligt projektets behov. Gå till Fönster > Inställningar > PyDev > Tolk > Python Tolk.

Installera och konfigurera PyDev in Eclipse

Ställ in standard Python Tolk, precis som du ställer in Java kompilator för att köra Java kod. För att ändra tolkens namn, klicka på knappen Bläddra efter python/pypy exe.

Installera och konfigurera PyDev in Eclipse

Steg 5) I det här steget, ange "tolknamnet" och "exe"-filsökvägen för Python.

  1. Klicka på "Bläddra" och hitta python.exe där du installerade Python.
  2. Klicka på "OK" -knappen.
  3. Markera alla mappar och klicka på OK.
  4. Klicka på "Ansök och stäng".

Installera och konfigurera PyDev in Eclipse

Steg 6) Skapa ett nytt projekt i PythonI det här steget:

  1. Högerklicka PyDev Paketutforskare > Nytt.
  2. Välj alternativ andra.

Installera och konfigurera PyDev in Eclipse

  1. Välj "PyDev > PyDev Projekt".
  2. Tryck på knappen 'Nästa'.

Installera och konfigurera PyDev in Eclipse

  1. Namnge ditt projekt.
  2. Klicka på "Slutför".

Installera och konfigurera PyDev in Eclipse

Du kan se det nya Python (PyDev) projekt skapas.

Steg 7) Efter att ha skapat 'PyDev Project' kommer du att skapa en ny Python paket.

  1. Högerklicka på Projekt > Nytt > PyDev Paket.
  2. Namnge ditt paket och klicka på Slutför.

Installera och konfigurera PyDev in Eclipse

Installera och konfigurera PyDev in Eclipse

Steg 8) Om du ser det på skärmdumpen nedan har ett nytt paket skapats.

Installera och konfigurera PyDev in Eclipse

Skapa sedan en PyDev modul. Modulen innehåller Python filer för initialisering, vars funktioner kan importeras till en annan modul, vilket undviker omskrivning av programmet.

Steg 9) Skapa en ny PyDev modul. Högerklicka på paket > Nytt > PyDev modul.

Installera och konfigurera PyDev in Eclipse

Namnge din modul och klicka på "Slutför".

Installera och konfigurera PyDev in Eclipse

Välj Tom mall och klicka på "OK".

Installera och konfigurera PyDev in Eclipse

Steg 10) Skriv din kod för Selenium med Python som visas nedan.

Installera och konfigurera PyDev in Eclipse

Hur man skapar testskript i Selenium med Python

I detta Selenium WebDriver med Python till exempel automatiserade vi "Facebooks inloggningssida" med hjälp av Firefox förare.

Selenium med Python Exempel 1: Logga in på Facebook

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user_name = "YOUR EMAILID"
password = "YOUR PASSWORD"
driver = webdriver.Firefox()
driver.get("https://www.facebook.com")
element = driver.find_element_by_id("email")
element.send_keys(user_name)
element = driver.find_element_by_id("pass")
element.send_keys(password)
element.send_keys(Keys.RETURN)
element.close()

Ögonblicksbild av Code

Skapa testskript i Selenium med Python

Förklaring av koden

  • Code rad 1: Importera webdrivern från Selenium-modulen.
  • Code rad 2: Importera nycklar från Selenium-modulen.
  • Code rad 3: användarnamn är en variabel som används för att lagra värdet på användarnamnet.
  • Code rad 4: Variabeln "lösenord" kommer att användas för att lagra lösenordets värde.
  • Code rad 5: Initiera "Firefox” genom att göra ett föremål av det.
  • Code rad 6: Metoden ”driver.get” navigerar till sidan som anges av URLWebDriver väntar tills sidan har laddats helt innan den återställer kontrollen till ditt skript.
  • Code rad 7: Hitta textruteelementet där "e-postadressen" ska skrivas.
  • Code rad 8: Skicka värdena till e-postsektionen.
  • Code rad 9: Samma sak gäller lösenordet.
  • Code rad 10: Skicka värden till lösenordsavsnittet.
  • Code rad 11: element.send_keys(Keys.RETURN) trycker på enter efter att värdena har infogas.
  • Code rad 12: Stäng.

Produktion: Värdena för användarnamnet "guru99" och lösenordet anges.

Skapa testskript i Selenium med Python

Facebook-sidan loggar in med e-postadress och lösenord. Sidan öppnas (se bilden nedan).

Skapa testskript i Selenium med Python

Selenium med Python Exempel 2: Logga in på Facebook och kontrollera titeln

I det här exemplet öppnar vi en inloggningssida, fyller i de obligatoriska fälten "användarnamn" och "lösenord" och kontrollerar sidtiteln.

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
# Step 1) Open Firefox
browser = webdriver.Firefox()
# Step 2) Navigate to Facebook
browser.get("http://www.facebook.com")
# Step 3) Search & Enter the Email or Phone field & Enter Password
username = browser.find_element_by_id("email")
password = browser.find_element_by_id("pass")
submit   = browser.find_element_by_id("loginbutton")
username.send_keys("YOUR EMAILID")
password.send_keys("YOUR PASSWORD")
# Step 4) Click Login
submit.click()
wait = WebDriverWait( browser, 5 )
page_title = browser.title
assert page_title == "Facebook"

Ögonblicksbild av koden

Skapa testskript i Selenium med Python

Förklaring av koden:

  • Code rad 1-2: Importera selenpaket.
  • Code rad 4: initialisera Firefox genom att skapa ett objekt.
  • Code rad 6: Hämta inloggningssidan (Facebook).
  • Code rad 8-10: Hämta användarnamn, lösenordsinmatningsrutor och skicka-knappen.
  • Code rad 11-12: Ange data i inmatningsrutorna för användarnamn och lösenord.
  • Code rad 14: Klicka på knappen "Skicka".
  • Code rad 15: Skapa ett väntobjekt med en timeout på 5 sekunder.
  • Code rad 16: Hämta titeln från "webbläsar"-objektet.
  • Code rad 17: Testa den inspelade titelsträngen med ”Facebook”.

Varför välja Python över Java in Selenium

Några punkter som gynnar Python över Java att använda med Selenium är:

  1. Java program tenderar att köras långsammare jämfört med Python program.
  2. Java använder traditionella stag för att starta och avsluta block, medan Python använder indrag.
  3. Java använder statisk typingMedan Python är dynamiskt skriven.
  4. Python är enklare och mer kompakt jämfört med Java.

Vanliga frågor

Kör pip install selenium. Modern Selenium fartyg med Selenium Manager, som laddar ner matchande webbläsardrivrutin automatiskt, så ingen manuell installation av Chrome-drivrutinen behövs.

WebDriver är den Selenium gränssnitt som driver en riktig webbläsare och skickar kommandon till Firefox, Chrome eller Edge för att styra navigering, klick och formulärinmatning.

Selenium 4 tog bort find_element_by_id. Använd By-klassen: från selenium.webdriver.common.by importera By, sedan driver.find_element(By.ID, "email").

Implicit väntan avsöker DOM under en viss tid. Explicit väntan (WebDriverWait) pausar tills ett specifikt villkor är uppfyllt. Undvik att blanda dem för att förhindra oförutsägbar timing.

Nej. PyDev in Eclipse är ett alternativ. Du kan också köra Selenium Python skript i PyCharm, VS Code, eller från kommandoraden.

Selenium WebDriver-stöd Firefox, Chrome, Edge, Safari och Internet Explorer. Samma Python skriptet körs över dem med swapping föraren.

Ja. AI-assistenter som ChatGPT förvandlar en testbeskrivning på ett enkelt språk till Selenium Python kod, föreslå lokaliseringsverktyg och konvertera gamla find_element_by_id-anrop till By-syntax.

Ja. GitHub Copilot föreslår stabila positionerare, förklarar NoSuchElementException-fel och rekommenderar explicita väntetider, vilket minskar ostabila tester på dynamiska sidor.

Sammanfatta detta inlägg med: