[英]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.