拖放被执行但它没有被执行 - webdriver

时间:2013-02-12 10:47:26

标签: c# selenium webdriver selenium-webdriver

我已经尝试过这两个代码,它会被执行但是动作没有执行,任何人都可以告诉我为什么?

//Type one approach
Actions action = new Actions(Browser.Driver);
IWebElement sourceElement = Browser.Driver.FindElement(By.XPath(Filexpath));
IWebElement targetElement = Browser.Driver.FindElement(By.XPath(NewXpath));

//Type two approach 
Actions Sourcebuilder = new Actions(Browser.Driver);
Actions SourceAction = Sourcebuilder.ClickAndHold(sourceElement);
Sourcebuilder.Build();
SourceAction.Perform();



/// move and drop
Actions builder = new Actions(Browser.Driver);
Actions action = builder.MoveToElement(targetElement);
builder.Release(targetElement);
builder.Build();
action.Perform();

提前致谢

1 个答案:

答案 0 :(得分:3)

试用此代码:

 Actions ac = new Actions(driver);
 ac.dragAndDrop(source element, target element);
 ac.build().perform();

它将点击并保持在源元素的位置,移动到目标元素的位置,然后释放鼠标。

或者

 Actions ac = new Actions(driver);
 ac.dragAndDropBy(source element, xOffset, yOffset);
 ac.build().perform();

它将在源元素的位置单击并按住,移动给定的偏移量,然后释放鼠标。

或者

    Actions ac = new Actions(driver);
    ac.clickAndHold(onElement);
    ac.moveToElement(toElement); or ac.moveToElement(toElement, xOffset, yOffset);
    ac.build().perform();

它将执行上述两个代码的操作。

我在Java上编写这段代码。您可以转换为您指定的语言。

来自Actions.