0

工作,我想实现一个简单的拖放和硒蟒蛇下降。我使用Chrome的webdriver以下是我的代码。什么都没发生。任何帮助高度apprecited。拖放不与硒的Python

from selenium.webdriver.common.by import By 
from selenium.webdriver.common.keys import Keys 
from selenium import webdriver 
from selenium.common import exceptions 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.ui import Select 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver import ActionChains 
driver = webdriver.Chrome() 
driver.get("http://html5demos.com/drag") 
dragElement=driver.find_element_by_id("one") 
dropElement=driver.find_element_by_id("bin") 

action_chains = ActionChains(driver) 
action_chains.drag_and_drop(dragElement, dropElement).perform() 

回答

1

硒将&拖放功能很简单,你需要做的硒ActionChains使用。

ActionChains是自动化低水平相互作用的对诸如鼠标移动,鼠标按钮的动作,按键,和上下文菜单的交互的一种方式。这是做的更复杂的操作,如悬停和拖放有用。

参考documentation

在特定情况下,你需要确定来源和行动(的形象和一个箱子)的目标和呼叫后drag_and_drop功能。

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

driver = webdriver.Chrome() 
driver.get("http://html5demos.com/drag") 
source_element = driver.find_element_by_id('bin') 
dest_element = driver.find_element_by_id('two') 
ActionChains(driver).drag_and_drop(source_element, dest_element).perform() 
+0

嗨@aberna,我试过....它没有工作:(它只突出显示元素,但从来没有真正拖拽它,我最终实现了一个自定义JS,负责拖放。 – prgrmr