自动拖动在C#中使用Selenium WebDriver删除功能[文件上载]

时间:2016-07-19 21:31:39

标签: c# selenium-webdriver drag-and-drop

我需要在C#中自动执行拖放功能,但找不到正确的方法!这是一个文件上传表单,我需要在那里自动执行拖放操作。

以这种方式实验:

public void FileAttachment() {
    PageObjects.UploadFile.Click();
    Driver.Instance.FindElement(By.XPath("//*@id='fileUpload']div")).SendKeys("filepath");
    PageObjects.FileUploadSend.Click();
}

帮助我度过这块石头!

2 个答案:

答案 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