Python Selenium WebDriver перетаскивание
Я не могу получить перетаскивание и падение работы с привязками Python WebDriver. Я работаю с Google Chrome и Firefox на Mac OS X. Есть поток здесь где у кого-то была аналогичная проблема.
Я пробовал использовать ActionsChains
:
from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome()
actionChains = ActionChains(driver)
actionChains.drag_and_drop(source, target).perform()
вам удалось заставить Python WebDriver перетащить и падение работать?
3 ответов
чтобы дать обновленный ответ, я проверил, что это действительно работает на Mac сейчас.
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get("your.site.with.dragndrop.functionality.com")
source_element = driver.find_element_by_name('your element to drag')
dest_element = driver.find_element_by_name('element to drag to')
ActionChains(driver).drag_and_drop(source_element, dest_element).perform()
цепи действий в настоящее время не работают на Mac. Если вы попробуете код выше в Linux или Windows, он будет работать. ChromeDriver близок к тому, чтобы получить это право, но все еще нуждается в работе AFAIK.
трудно сказать точно без некоторого образца HTML для источника и цели.
вы можете попробовать использовать drag_and_drop_by_offset(self, source, xoffset, yoffset)
вместо с небольшим значением для параметров смещения. Иногда это срабатывает.
вы также можете попытаться адаптироваться этот пример c# использует mouse_down_at
, mouse_move_at
и .