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