Selenium Python Basics

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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


How to Use Other Webdriver

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Getting Source of a Web-Page/URL

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


5. XPath

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


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.

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


7. CSS Selector

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


8. Class Name

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


9. Entering Input in an Input Field Using Selenium Script

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


10. Locating Submit Button

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


Output:-

locators-in-selenium-3

11. Complete Code to Demonstrate Login Into Facebook

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


Output:-
locators-in-selenium-4




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.