2013-02-12 63 views
2

我已经尝试了这两个代码,它得到执行,但行动没有得到执行,任何人都可以告诉我为什么?拖放得到执行,但它没有得到执行 - 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(); 

在此先感谢

回答

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.

+0

谢谢你最后一个解决了问题 – 2013-02-12 14:32:42

相关问题