如何使用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
相关产品推荐
相关产品推荐

