Skip to navigation Skip to main content

Your First Selenium Python Test: A Complete Beginner's Walkthrough

Getting Started with Selenium Python Webdriver for Software Test Automation

Web testing doesn’t have to feel like rocket science. I remember my first encounter with Selenium—I was convinced I’d need a computer science degree just to open a browser automatically. Turns out, I was overthinking it.

Today, you’ll write your very first automated test that opens a webpage, performs a search, and verifies the results. No prior experience required.



Why Selenium Python Matters for Modern Testing

Before we dive into code, let’s address the elephant in the room: why should you care about Selenium Python?

Manual testing is like checking every light bulb in a skyscraper by hand. Sure, it works, but imagine doing that every single day. Selenium Python automates this process, saving you hours while catching bugs your eyes might miss.

Here’s what makes it powerful:

  • Tests run consistently every time
  • Catches regression bugs automatically
  • Scales across multiple browsers
  • Integrates seamlessly with development workflows

Prerequisites: Getting Your Environment Ready

You’ll need Selenium Python bindings installed before we begin. If you haven’t set this up yet, check out our detailed installation guide first.

Quick installation reminder:

pip install selenium

You’ll also need a web browser driver (Firefox, Chrome, or Edge). Most beginners start with Firefox since it’s straightforward to configure.

Your First Selenium Test: Step by Step

Ready to write some code? Here’s the complete script we’ll build together:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# Launch Firefox browser
driver = webdriver.Firefox()

# Navigate to Python.org
driver.get("http://www.python.org")

# Verify we're on the right page
assert "Python" in driver.title

# Find the search box
elem = driver.find_element_by_name("q")

# Clear any existing text and search for "pycon"
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)

# Verify search results appeared
assert "No results found." not in driver.page_source

# Clean up - close the browser
driver.close()

Save this as python_org_search.py and run it:

python python_org_search.py

Breaking Down Each Line (The Magic Explained)

Let’s dissect this script so you understand exactly what’s happening:

Importing the Tools

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

Think of this as grabbing your toolbox. webdriver controls the browser, while Keys handles special keyboard inputs like Enter or Tab.

Launching Your Browser

driver = webdriver.Firefox()

This line opens a fresh Firefox window. You could swap Firefox() for Chrome() or Edge() depending on your preference.

Pro tip: The browser will stay open until your script closes it.

driver.get("http://www.python.org")

Just like typing a URL in your address bar, except now Python does it for you. Selenium waits for the page to fully load before moving to the next line.

Verifying You’re in the Right Place

assert "Python" in driver.title

This is your safety check. If the page title doesn’t contain “Python,” your script stops here and alerts you something went wrong.

Finding Elements on the Page

elem = driver.find_element_by_name("q")

Selenium needs to locate the search box before it can type in it. The name="q" attribute identifies Python.org’s search field.

Other ways to find elements:

  • find_element_by_id("search")
  • find_element_by_class_name("search-box")
  • find_element_by_xpath("//input[@type='search']")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)

First, we clear any placeholder text. Then we type “pycon” and press Enter. It’s like having invisible hands operating your browser.

Checking the Results

assert "No results found." not in driver.page_source

This verifies that our search actually worked. If the page contains “No results found,” we know something went wrong.

Closing the Browser

driver.close()

Always clean up after yourself. This closes the browser window and frees up system resources.

Note: Use driver.quit() if you have multiple browser windows open—it closes everything.

Common Beginner Mistakes (And How to Avoid Them)

Mistake #1: Forgetting to install browser drivers Solution: Download the appropriate driver for your browser version

Mistake #2: Not waiting for elements to load Solution: Use explicit waits for dynamic content

Mistake #3: Using outdated element locator methods Solution: Modern Selenium uses find_element(By.NAME, "q") instead of find_element_by_name("q")

Taking Your Skills Further

This basic test opens the door to endless possibilities:

  • Form automation: Fill out registration forms automatically
  • UI regression testing: Verify your website works after updates
  • Cross-browser testing: Run the same test on Chrome, Firefox, and Safari
  • Data-driven testing: Test with multiple search terms from a spreadsheet

Your Next Steps in Test Automation

Congratulations! You’ve just written your first automated web test. That browser opening and closing on its own? That’s the power of automation working for you.

Ready to level up your testing skills?

Start with these practical exercises:

  • Modify the search term to test different queries
  • Add more assertions to verify specific page elements
  • Try the same test with different browsers

The journey into test automation starts with a single script—and you’ve already written yours.


Want to dive deeper into Selenium Python? Check out our comprehensive crash course with real-world examples and advanced techniques. Your future self will thank you for mastering these skills today.

Enjoy !!! See Yaaa, Next.

Selenium with Python

Share: X (Twitter) Facebook LinkedIn