Open In App
Related Articles

drag_and_drop – Action Chains in Selenium Python

Improve Article
Save Article
Like Article

Selenium’s Python Module is built to perform automated testing with Python. ActionChains are a way to automate low-level interactions such as mouse movements, mouse button actions, keypress, and context menu interactions. This is useful for doing more complex actions like hover over and drag and drop. Action chain methods are used by advanced scripts where we need to drag an element, click an element, double click, etc.
This article revolves around drag_and_drop method on Action Chains in Python Selenium. drag_and_drop method holds down the left mouse button on the source element, then moves to the target element and releases the mouse button.
Syntax –

drag_and_drop(source, target)
Args –

  • source: The element to mouse down.
  • target: The element to mouse up.

Example –

<input type ="text" name ="passwd" id ="passwd-id" />

To find an element one needs to use one of the locating strategies, For example,

element = driver.find_element_by_id("passwd-id")
element = driver.find_element_by_name("passwd")

Now one can use drag_and_drop method as an Action chain as below –

drag_and_drop(source, target)

How to use drag_and_drop Action Chain method in Selenium Python ?

To demonstrate, drag_and_drop method of Action Chains in Selenium Python. Let’ s visit and operate on an element.

Program –

# import webdriver
from selenium import webdriver
# import Action chains 
from selenium.webdriver.common.action_chains import ActionChains
# create webdriver object
driver = webdriver.Firefox()
# get
# get source element 
source_element = driver.find_element_by_link_text("Courses")
# get target element 
target_element = driver.find_element_by_link_text("Hard")
# create action chain object
action = ActionChains(driver)
# drag and drop the item
action.drag_and_drop(source_element, target_element)
# perform the operation

Output –

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 15 May, 2020
Like Article
Save Article
Similar Reads
Complete Tutorials