首页 > 解决方案 > Python Selenium ActionChains - 拖放方法无法正常工作

问题描述

我正在尝试使用 ActionChains 拖放元素。但不能让它工作。

环境:

所以有两种拖放方法:

拖放

drag_and_drop_by_offset

当我尝试使用偏移量时,它可以工作,但是当我使用常规的 drag_and_drop 时,它不会。

driver = webdriver.Chrome()
driver.get("https://demoqa.com/")

sortable_button = driver.find_element(
    By.CSS_SELECTOR, "aside.widget:nth-of-type(1) li:nth-of-type(1)")
sortable_button.click()
items = driver.find_elements(By.CSS_SELECTOR, "#sortable li")
actions = ActionChains(driver)
actions.drag_and_drop_by_offset(items[0], 0, 200).perform()
# actions.drag_and_drop(items[0], items[4]).perform()
time.sleep(5)
driver.close()

标签: pythonpython-3.xselenium-webdriver

解决方案


看来 drag_and_drop 方法不适用于 HTML5

这是一个参考,它提供了一种解决方法,并由 selenium dev 确认它确实不适用于 HTML5

https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/3604


推荐阅读