Skip to content
Related Articles

Related Articles

Improve Article

Selenium Python Basics

  • Last Updated : 27 Feb, 2020

Selenium is a portable framework for testing web applications. Selenium provides a playback tool for authoring functional tests without the need to learn a test scripting language. Before Going Ahead Please refer to this page if you had not installed Selenium. This article revolves around Locators in Selenium and various strategies.

Contents

Webdriver

Selenium WebDriver drives a browser natively, as a real user would, either locally or on remote machines. To start a web browser python selenium Module Needs webdriver. One can download it form here for chromium browser




# Python program to demonstrate
# Webdriver For Firefox
from selenium import webdriver
driver = webdriver.Firefox()

How to Use Other Webdriver




# Firefox 
driver = webdriver.Firefox()
# Google Chrome 
driver = webdriver.Chrome()

Getting Source of a Web-Page/URL

By Using this one can get the complete page source/code of current opened URL/Web-Page.




# Python program Continued
# Webdriver For Firefox
from selenium import webdriver
driver = webdriver.Chrome()
html = driver.page_source # Getting Source of Current URL / Web-Page Loaded
print(html)
# End

Output:
python-selenium

One Need to Go Through the Source Code Of the Page To Create Selenium Automated Script

For Example :-
python-selenium



Locating Elements By :-

1. Id

HTML Elements have some attribute “id” which can be used to Locate Those Elements.
For Example :- Finding Input Box For Email Field




# Python program Continued
  
# Finding Input Box For Email Field
# Go Through the Screen Shot Above or Page Source
driver.find_element_by_id("m_login_email"
# End

2. Name

HTML Elements Have attribute “name” associated with them which can be used to Locate Those Elements.
For Example :- Finding Input Box For Password Field




# Python program Continued
  
# Finding Input Box For Password Field
# Go Through the Screen Shot Above or Page Source
driver.find_element_by_name("pass")    
# End

3. Link Text

HTML Elements which are actually a Link To another Page can be Located using that particular Link Text.
For Example :- Finding Forgotten Password Link Field




# Python program Continued
  
# Finding Forgotten Password Link Field
driver.find_element_by_link_text("Forgotten password?")
# End

4. Partial Link Text

HTML Elements which are actually a Link To another Page can be Located using that particular Partial Link Text.
For Example :- Finding Forgotten Password Link Field




# Python program Continued
  
# Finding Forgotten Password Link Field
driver.find_element_by_partial_link_text("Forgotten password?")
# End

5. XPath

HTML Elements can be Easily Found by using this
For Example :- Find Email and Password Input Field




# Python program Continued
  
# Creating a Reference of Form For Finding Email and Password
# Reference for Form Finding
form = driver.find_element_by_xpath("//form[@id ='login_form']")
# Email
email = form.find_element_by_name("email"
# Password
password = form.find_element_by_name("pass"
# End

6. Tag Name

HTML Elements can be Easily Found by using Tag Name
For Example :- Finding Elements by using tag name like Title, Head, Body, Html, a, div, etc.




# Python program Continued
  
# Finding Title of Facebook Login Page
# Output will be "Facebook - log in or sign up"
title = driver.find_element_by_tag_name("title"
print(title)
# End

7. CSS Selector

HTML Elements can be Easily Found by using CSS
For Example :- Finding Elements by using Class, style, etc.




# Python program Continued
  
# Finding Password Input Field Using Class Name "bl bm bo bp"
password = driver.find_element_by_css_selector('input.bl.bm.bo.bp')
# End

8. Class Name

HTML Elements can be Easily Found by using Class name
For Example :- Finding Elements by using Class Name.






# Python program Continued
  
# Finding Password Input Field Using Class Name "bl bm bo bp"
password = driver.find_element_by_class_name('bl bm bo bp')
# End

9. Entering Input in an Input Field Using Selenium Script

It is Used to Insert Input into Input Field Using inbuilt Function send_keys.




# Python program Continued
   
# Creating a Reference of Form For Finding Email and Password
  
# Reference for Form Finding
form = driver.find_element_by_xpath("//form[@id ='login_form']"
  
email = form.find_element_by_name("email"
password = form.find_element_by_name("pass"
  
# Inserting("abc@gmail.com") in the Email Input Field
email.send_keys("singh.swaraj1999@gmail.com"
  
# Inserting("Your Facebook Password") in the Password Input Field 
password.send_keys("Your Facebook Password")   
  
# End

10. Locating Submit Button

It is Used to Locate the Submit Button Which is used to submit a form




# Python program Continued
   
# Creating a Reference of Form For Finding Email and Password
form = driver.find_element_by_xpath("//form[@id ='login_form']"
email = form.find_element_by_name("email"
password = form.find_element_by_name("pass"
email.send_keys("singh.swaraj1999@gmail.com")  
password.send_keys("Your Facebook Password"
  
# Locating Submit Button
submit_button = driver.find_element_by_xpath("//input[@type ='submit']"
submit_button.click()  # Button Click
# End

Output:-

locators-in-selenium-3

11. Complete Code to Demonstrate Login Into Facebook




# Python program to demonstrate Facebook Login
from selenium import webdriver
  
driver = webdriver.Firefox()  
driver.get("https://mbasic.facebook.com")  
# Creating a Reference of Form For Finding Email and Password
form = driver.find_element_by_xpath("//form[@id ='login_form']")
email = form.find_element_by_name("email"
password = form.find_element_by_name("pass")
email.send_keys("singh.swaraj1999@gmail.com")
password.send_keys("Your Facebook Password"
submit_button = driver.find_element_by_xpath("//input[@type ='submit']")
submit_button.click() 
# Error Password in Output
# Because i had not used my real password here
# End

Output:-
locators-in-selenium-4

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :