【问题标题】:Not able to drag and drop element in firefox and chrome无法在 Firefox 和 chrome 中拖放元素
【发布时间】:2016-06-08 15:11:01
【问题描述】:

无法在 Firefox 中拖放元素,抛出“buttondown”超时,即使目标元素可见、启用、显示

在 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();

【问题讨论】:

    标签: c# selenium firefox drag-and-drop


    【解决方案1】:

    不正确的拖动方式可能是一个原因。改变

    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();
    

    【讨论】:

    • 尝试了这两个选项,但是当我执行 actions.ClickAndHold(src).build.perform 时,它仍然会抛出错误,因为“buttondown timed out”。 Strac 跟踪如下: OpenQA.Selenium.WebDriverException 未被用户代码处理 HResult=-2146233088 Message=对远程 WebDriver 服务器的 URL localhost:7056/hub/session/a6e62368-db91-4243-9183-dba6b4919ecd/… 的 HTTP 请求在 60 秒后超时。 Source=WebDriver
    • 最好同时执行ClickAndHoldMoveToElementRelease的所有动作
    猜你喜欢
    • 2013-04-04
    • 2020-03-16
    • 2015-05-02
    • 1970-01-01
    • 2021-04-08
    • 2021-09-25
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多