簡體   English   中英

無法使用 Selenium C# 邊緣瀏覽器拖放元素

[英]Unable to drag and drop the element using Selenium C# Edge Browser

以下是源元素的 HTML:

<div title="" class="dragItem row " id="DocSelected-1" draggable="true" type="11" data-content="Salary Slips" data-draggable="item" document-required="1" state="notVerified" accountid="0">
                                    <span class="col-xs-10 dl-no-padding">
                                        <span>Salary Slips</span>
                                    </span>

以下是目標元素的 HTML:

<div class="removeDocs" data-draggable="remove">  Drag here to remove document  </div>

下面是試圖實現拖放的代碼,

IWebElement from = driver.FindElement(By.XPath("//div[@id='DocSelected-1']//span[@class='col-xs-10 dl-no-padding']"));
            IWebElement to = driver.FindElement(By.ClassName("removeDocs"));
            Actions act = new Actions(driver);
            act.DragAndDrop(from, to).Build().Perform(); 

當我嘗試使用上述代碼時,測試用例通過但未完成拖放。

因此,請建議執行拖放操作的正確方法。

看看下面的內容,看看它是否有幫助。 找到元素,然后將它們傳遞給拖放。 有時,您可能需要一個偏移量,所以我也添加了該代碼並將其注釋掉。

 var ele1 = Driver.FindElement(By.XPath("//div[@class='//div[@id='DocSelected-1']"));
 
 var ele2 = Driver.FindElement(By.XPath("//div[@class='removeDocs']"));

 DragAndDrop(ele1, ele2);



 public static void DragAndDrop(IWebElement element1, IWebElement element2)
    {
        WaitForElementEnabled(element1);
        WaitForElementEnabled(element2);
        var builder = new Actions(Driver);
        var dragAndDrop = builder.ClickAndHold(element1).MoveToElement(element2).Release(element2).Build();
 
     // var dragAndDrop = builder.ClickAndHold(element1).MoveToElement(element2, 100, 100).Release(element1).Build();  
        dragAndDrop.Perform();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM