我需要在C#中自动执行拖放功能,但找不到正确的方法!这是一个文件上传表单,我需要在那里自动执行拖放操作。
以这种方式实验:
public void FileAttachment() {
PageObjects.UploadFile.Click();
Driver.Instance.FindElement(By.XPath("//*@id='fileUpload']div")).SendKeys("filepath");
PageObjects.FileUploadSend.Click();
}
帮助我度过这块石头!
答案 0 :(得分:3)
经过一些研究工作,我希望分享我如何解决它!
public void FileAttachment()
{
PageObjects.UploadFile.Click();
Driver.Instance.FindElement(By.XPath("//*@id='fileUpload']div")).Click();
AutoItX3 autoIt = new AutoItX3();
autoIt.WinActive("Open"); //Differs from Browser to Browser
autoIt.Send(@"C:Desktop\doccs\trialTest.txt");
autoIt.Send("{ENTER}");
Thread.Sleep(1000);
PageObjects.FileUploadSend.Click();
}
是一个像Selenium这样的自动化工具,但与Selenium不同,它用于桌面自动化而非Web自动化。它可以自动化鼠标移动和按键,桌面窗口,按钮和按钮;形式。
安装它并引用到项目中就可以实现!
所以代码看起来像,
{{1}}
答案 1 :(得分:0)
您使用的是HTML5拖放吗?我坚持使用相同的问题,从各种线程看,使用HTML5拖放已经被几年前的错误所取代,并且似乎没有修复。我发现了github实现的一些替代方法,它们需要执行javascript,以及将代码转换为C#:http://elementalselenium.com/tips/39-drag-and-drop