I'm trying to move a slider slowly and smoothly with selenium but haven't found a way to do so.
ive found 2 methods of doing it, the first one moves it slow but not smoothly and the second one i was trying to use drag and drop to do it but it just moves it instantly.
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
from selenium.webdriver.chrome.options import Options
import os
from selenium.webdriver.common.action_chains import ActionChains
import math
options = Options()
options.add_argument('log-level=3')
driver = webdriver.Chrome(chrome_options=options, executable_path="/Users/andy_/Desktop/driver/chromedriver2.exe") # chrome_options=driver_options +
os.system('cls')
driver.get("https://jqueryui.com/slider/")
def move_slider(slider, offset):
number = offset/20
frac, whole = math.modf(number)
dec = frac*20
ActionChains(driver).click_and_hold(slider).perform()
for i in range(20):
ActionChains(driver).move_by_offset(number, 0).perform()
ActionChains(driver).move_by_offset(dec, 0).perform()
ActionChains(driver).release().perform()
def move_slider2(slider, offset):
ActionChains(driver).drag_and_drop_by_offset(slider, 80, 0).perform()
sleep(1)
driver.switch_to.frame(0)
slider2 = driver.find_element(By.XPATH, "//span[@class='ui-slider-handle ui-corner-all ui-state-default']")
move_slider2(slider2, 80)