2016-06-08 160 views
0

不能拖在Firefox下降元素,拋出「buttondown」超時,即使目標元素是可見的,啓用顯示不能拖放在Firefox元素和鉻

在Chrome瀏覽器中,代碼無一例外地被執行,但不執行操作。

Actions actions = new Actions(BrowserClass.WebDriver); 

var src = BrowserClass.WebDriver.FindElement(By.XPath("//div[contains(@class,'box-padding')]/ul/li[11]/div/div/div")); 
var dest = BrowserClass.WebDriver.FindElement(By.CssSelector("div[id*='row-cxs-control-2']>div>div>div>div>div:nth-child(1)>div"));  

actions.ClickAndHold(src); 
try { 
    System.Threading.Thread.Sleep(1000); 
} catch (Exception e) { 
    var s = e.StackTrace; 
} 
actions.MoveToElement(dest).Release(dest).Build(); 
actions.Perform(); 

回答

0

不正確的拖動方式可能是一個原因。更改

actions.MoveToElement(dest).Release(dest).Build(); //seems incorrect to release `dest` here 
actions.Perform(); 

到以下任一:

actions.DragAndDrop(src,dest).Build().Perform(); 

或者

actions.ClickAndHold(src).MoveToElement(dest).Release().Build().Perform(); 
+0

試用過的選擇,但是當我執行 actions.ClickAndHold(SRC).build.perform,它仍然拋出錯誤爲「buttondown超時」。 Strac跟蹤如下: OpenQA.Selenium.WebDriverException是由用戶代碼未處理 的HResult = -2146233088 消息= HTTP請求爲URL爲http遠程服務器的webdriver://本地主機:7056 /集線器/會話/ a6e62368- db91-4243-9183-dba6b4919ecd/buttondown在60秒後超時。 Source = WebDriver – Shazia

+0

如果您同時執行所有的操作'ClickAndHold','MoveToElement','Release' – nullpointer