Java 使用AutoIt在Selenium WebDriver中通过窗口提示上载文件
我想在SeleniumWebDriver中使用AutoIt上传文件。我有一个AutoIt代码,用于在窗口提示中粘贴文件路径并单击“打开”按钮 但我的问题是,在使用下面的代码点击“浏览”按钮后,会出现文件上传的窗口提示,我的代码不会从该点移动到下一行,我会调用autoit可执行文件Java 使用AutoIt在Selenium WebDriver中通过窗口提示上载文件,java,eclipse,windows,selenium-webdriver,autoit,Java,Eclipse,Windows,Selenium Webdriver,Autoit,我想在SeleniumWebDriver中使用AutoIt上传文件。我有一个AutoIt代码,用于在窗口提示中粘贴文件路径并单击“打开”按钮 但我的问题是,在使用下面的代码点击“浏览”按钮后,会出现文件上传的窗口提示,我的代码不会从该点移动到下一行,我会调用autoit可执行文件 driver.findElement(By.xpath("//div[@class='field-group file-inputlist']//div[@class='field-group ']//input"))
driver.findElement(By.xpath("//div[@class='field-group file-inputlist']//div[@class='field-group ']//input")).click();
我的自动代码是
WinWait("[CLASS:#32770]","",10) ;
//Set input focus to the edit control of Upload window using the handle returned by WinWait
ControlFocus("File Upload","","Edit1") Sleep(2000) ;
//Set the File name text on the Edit field
ControlSetText("File Upload", "", "Edit1", $CmdLine[1]) Sleep(2000) ;
//Click on the Open button
ControlClick("File Upload", "","Button1");
Eclipse甚至没有抛出任何错误或异常。代码在浏览器单击“浏览”按钮并打开窗口提示时停止
注意:如果我手动关闭窗口提示,则代码将从此处继续。文件上载要遵循的步骤包括:
WinWait("File Upload")
WinActivate("File Upload")
ControlSetText("File Upload", "", "[CLASS:Edit;INSTANCE:1]",$CmdLine[1])
;ControlSetText("Choose", "", "[CLASS:Edit;INSTANCE:1]", "*****Absolute File Path********")
ControlClick("File Upload", "", "[CLASS:Button;TEXT:&Open]")
您能简单地编辑您的帖子,添加一些autoit代码,使其更容易理解吗?注释字段的大小弄乱了格式。您使用“[CLASS:#32770]”和“文件上载”来引用同一窗口,我说得对吗?也许把两者统一起来?为了确保您知道哪一行占用了您的脚本,您可以在每个命令后添加升序数字,如ConsoleWriteLine(“1”),并查看哪一行是控制台中的最后一行。我认为您的autoit die here$CmdLine[1],请尝试硬编码一个有效的文件位置,然后重试您的脚本。感谢代码Vijayakumar。我有自动密码。但我的问题是,一旦SeleniumJava代码单击browse按钮。窗口提示打开。在那里,我的代码停止而不移动到下一行。它不会移动到下一行,直到我手动关闭窗口提示。