无法使用drag_and_drop通过Selenium Webdriver移动滑块

时间:2017-03-12 03:25:16

标签: python selenium selenium-webdriver

我正在尝试使用以下代码移动带有Selenium Webdriver的滑块,但是我收到一条错误消息:" selenium.common.exceptions.WebDriverException:消息:POST / session / 38618f26-c271-41f3 -a019-990ee2558063 / moveto与已知命令不匹配"

我使用selenium 3.0.2和Firefox 51.0.1我做错了什么?我怎么能移动滑块?

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

browser = webdriver.Firefox()
browser.get("http://url_wuth_a_slider")

source_element = browser.find_element_by_xpath("xpath_to_slider_knob")
destination_element = browser.find_element_by_xpath("xpath_to_destination")
ActionChains(browser).drag_and_drop(source_element, destination_element).perform()

1 个答案:

答案 0 :(得分:0)

这是known issue with the selenium bindings and geckodriver。它似乎在Chrome中运行良好。如果您禁用marrionette,它可能在Firefox中有效(但您可能需要使用Firefox之前版本的50):

browser = webdriver.Firefox(capabilities = { "marionette": False })

但你最好的选择是Chrome。