2

我已经尝试了这两个代码,它被执行了,但是动作没有被执行,谁能告诉我为什么?

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

提前致谢

4

1 回答 1

5

试试这个代码:

 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 上编写了这段代码。您可以转换为您指定的语言。

动作中引用。

于 2013-02-12T11:08:35.157 回答