我使用的是Selenium 2.53.1,Selenium Support Class 2.53.1和Chrome Version 59.0.3071.115以及Chrome Driver 2.30。似乎拖放操作不能在Chrome上运行,但在Firefox上工作。它一直工作到昨天,但突然它停止工作,我检查了一些升级是否已经破坏它的工作,但它似乎没有出现。以下是我的代码:
public void DragAndDrop(IWebDriver driver, By source, By destination, int sourceX, int sourceY, int destinationX, int destinationY)
{
try
{
IWebElement sourceElement = FindElement(driver, source);
IWebElement destinationElement = FindElement(driver, destination);
Actions Actions = new Actions(driver);
Actions.MoveToElement(sourceElement, sourceX, sourceY).ClickAndHold().Build().Perform();
Actions.MoveByOffset(5, 0);
Actions.MoveToElement(destinationElement, destinationX, destinationY).Release().Build().Perform();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
答案 0 :(得分:0)
检查sourceX和sourceY是否正确。
如果它们是正确的,请使用dragAndDropBy(sources,xInteger,yInteger)。
答案 1 :(得分:0)
与您的情况类似,我的脚本在一夜之间停止工作。 降级Chromedriver是一个临时解决方案。