Skip to content
Related Articles

Related Articles

Improve Article

drag_and_drop_by_offset method – Action Chains in Selenium Python

  • Last Updated : 15 May, 2020

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_by_offset method on Action Chains in Python Selenium. drag_and_drop_by_offset method holds down the left mouse button on the source element, then moves to the target offset and releases the mouse button.

Syntax –

drag_and_drop_by_offset(source, xoffset, yoffset)
Args –
  • source: The element to mouse down.
  • xoffset: X offset to move to.
  • yoffset: Y offset to move to.

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_by_offset method as an Action chain as below –

drag_and_drop_by_offset(element, 100, 200)

How to use drag_and_drop_by_offset Action Chain method in Selenium Python ?

To demonstrate, drag_and_drop_by_offset 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 element 
element = driver.find_element_by_link_text("Courses")
# create action chain object
action = ActionChains(driver)
# drag_and_drop_by_offset the item
action.drag_and_drop_by_offset(element, 100, 200)
# perform the operation

Output –

 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 :