3
我有一个AutoIt脚本,我从我的Java程序中调用,它使用Selenium通过Web应用程序加载数据。该脚本的工作原理是使用文件中的值上传文件,但只有当Java程序在前台运行时才能上传文件。这个程序最有可能会在后台运行。我可以在后台运行Autoit脚本来上传文件
我该如何设置它,以便在后台运行时程序能够正常工作?
的Java:
Thread.sleep(2000); // wait for page load
Runtime.getRuntime().exec("C:\\Users\\Janet\\Documents\\uploadFile.exe " + uploadFile);
的AutoIt:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=C:\Users\Janet\Documents\uploadFile.exe
#AutoIt3Wrapper_Outfile_x64=C:\Users\Janet\Documents\uploadFile_x64a.Exe
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
ControlFocus("File Upload","","Edit1"); Name of the file upload window (Windows Popup Name: Open)
ControlSetText("File Upload","","Edit1",$CmdLineRaw); File name
Send("{ENTER}")
难道你不只是使用SendKeys Selenium上传文件?我假设这是基本的文件上传按钮,而不是一些JavaScript库实现。 –
我不认为你可以专注于后台程序。 – IkeRoyle
不,我不行。在初始屏幕上没有输入文件名的文本框。你进入一个裁剪工具,并在其中点击打开文件浏览器对话框。如果只是在硒中使用sendkeys,我会这么做。 – Janet