Internet explorer 针对IE9的Selenium WebDriver DragAndDrop

Internet explorer 针对IE9的Selenium WebDriver DragAndDrop,internet-explorer,drag-and-drop,webdriver,Internet Explorer,Drag And Drop,Webdriver,我正在寻找一个解决办法,拖放一个div到另一个IE中 本地呼叫 (新操作(TestSetup.webDriver)).dragandrop(sourceElement,destinationElement.perform() 在Chrome和Firefox上运行良好,但在IE上失败 任何指针都会有帮助。不确定这是否得到解决,但您可能需要执行单独的鼠标单击和移动操作,而无需从Selenium拖放。从理论上讲,这应该是相同的,但可能存在这样的情况:当一个元素处于焦点并被拖动时,selenium没有找

我正在寻找一个解决办法,拖放一个div到另一个IE中

本地呼叫

(新操作(TestSetup.webDriver)).dragandrop(sourceElement,destinationElement.perform()

在Chrome和Firefox上运行良好,但在IE上失败


任何指针都会有帮助。

不确定这是否得到解决,但您可能需要执行单独的鼠标单击和移动操作,而无需从Selenium拖放。从理论上讲,这应该是相同的,但可能存在这样的情况:当一个元素处于焦点并被拖动时,selenium没有找到另一个元素

我建议获取两个元素并保存位置,然后单击并按住一个元素,然后将其移动到另一个元素的位置,然后在该位置释放鼠标。这应该绕过任何特定于浏览器的问题,只关注鼠标和逐像素窗口


如果仍然不起作用,请提供有关selenium错误和网页的更多详细信息。

初始化IE驱动程序时,将
RequireWindowFocus
选项设置为true

这是C#中的操作方式:

如果使用远程Selenium服务器:

DesiredCapabilities capabilities = DesiredCapabilities.InternetExplorer();
capabilities.SetCapability("requireWindowFocus", true);
var driver = new RemoteWebDriver(Constants.RemoteSeleniumServer, capabilities);
根据文件:

将“requireWindowFocus”功能引入IE驱动程序。当与“nativeEvents”功能结合使用时,驱动程序将尝试在执行鼠标或键盘事件之前将当前IE窗口置于前台

此外,当requireWindowFocus功能设置为true时,高级用户交互现在将使用Windows SendInput()API执行交互。要启用此行为,请设置 创建IE驱动程序实例时,要求WindowFocus功能为“true”。此新功能的默认值为“false”。这种功能目前被认为是非常实验性的;使用风险自负


哈哈,我相信这是为了浏览器,对吧?但企业仍然希望它在IE上完成。我道歉,我确实竖起拇指并添加了评论,但直到现在我才知道如何接受答案。我现在接受了前面的答复。但我非常感谢你的帮助。
DesiredCapabilities capabilities = DesiredCapabilities.InternetExplorer();
capabilities.SetCapability("requireWindowFocus", true);
var driver = new RemoteWebDriver(Constants.RemoteSeleniumServer, capabilities);