You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Selenium实现滑块的缓慢平滑拖动?

Selenium实现滑块缓慢平滑拖动的问题

我尝试使用Selenium实现滑块的缓慢平滑拖动,但尚未找到合适的方法,测试页面采用jQuery UI的滑块组件。

我找到了两种实现方法,但都存在问题:

  • 第一种拖动速度慢但不够平滑
  • 第二种尝试使用拖拽功能,却会让滑块瞬间移动

以下是我目前的代码:

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")
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)

内容的提问来源于stack exchange,提问作者Andh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:43:11