使用 Selenium-WebDriver 通过 AutoIt 上传多个文件
Multiple file upload through AutoIt using Selenium-WebDriver
我使用 AutoIt 自动上传单个文件。现在,我正在尝试一次上传 多个文件 。但是,没有任何选择可以达到目的。以下是我尝试过的一些方法:
Runtime.getRuntime().exec(ARRAY<Filenames>)
尝试作为一个字符串传递。通过手动文件系统,这工作正常,但在自动显示为无效文件名时:
Runtime.getRuntime().exec("E:/AutoItScripts/FileUpload.exe" + ""E:\Images\business.jpg" "E:\Images\nature.jpeg"");
请提供solutions/recommendations/suggestions解决问题。
您需要使用所需的 AutoIt 脚本一次上传多个文件。多文件上传参考以下脚本。
ControlFocus("Open","","Edit1")
Global $files="",$appendquotes="",$j=2;
IF $cmdLine[0]==1 then
$files=$CmdLine[1]
ElseIf $cmdLine[0] > 1 Then
For $i=1 to $cmdLine[1]
$appendquotes='"' & $CmdLine[$j] & '"';
$files=$files & " " & $appendquotes;
$j=$j+1;
Next
EndIf
ControlSetText('Open','','Edit1',$files)
ControlClick("Open","","Button1")
使用下面的 java 代码进行多文件上传
Runtime.getRuntime().exec(config.getAutoITFileUploadScript() + " " + files.length + " " + fileToUpload);
这里,第一个参数是我们给的脚本的.exe文件路径。
第二个参数是我们要传递的文件数。
第三个参数是文件的路径,其中每个文件都用双引号括起来,用单个 space 分隔。(即)
"D:\karthika\uploadfiles\SampleJPGImage_5mbmb.jpg" "D:\karthika\uploadfiles\SamplePNGImage_5mbmb.png" "D:\karthika\uploadfiles\samplefile.png" "D:\karthika\uploadfiles\SamplePNGImage_3mbmb.png" "D:\karthika\uploadfiles\img16.jpg" "D:\karthika\uploadfiles\artwork.jpg" "D:\karthika\uploadfiles\image2.jpg" "D:\karthika\uploadfiles\image3.jpg" "D:\karthika\uploadfiles\image5.jpg"
我使用 AutoIt 自动上传单个文件。现在,我正在尝试一次上传 多个文件 。但是,没有任何选择可以达到目的。以下是我尝试过的一些方法:
Runtime.getRuntime().exec(ARRAY<Filenames>)
尝试作为一个字符串传递。通过手动文件系统,这工作正常,但在自动显示为无效文件名时:
Runtime.getRuntime().exec("E:/AutoItScripts/FileUpload.exe" + ""E:\Images\business.jpg" "E:\Images\nature.jpeg"");
请提供solutions/recommendations/suggestions解决问题。
您需要使用所需的 AutoIt 脚本一次上传多个文件。多文件上传参考以下脚本。
ControlFocus("Open","","Edit1")
Global $files="",$appendquotes="",$j=2;
IF $cmdLine[0]==1 then
$files=$CmdLine[1]
ElseIf $cmdLine[0] > 1 Then
For $i=1 to $cmdLine[1]
$appendquotes='"' & $CmdLine[$j] & '"';
$files=$files & " " & $appendquotes;
$j=$j+1;
Next
EndIf
ControlSetText('Open','','Edit1',$files)
ControlClick("Open","","Button1")
使用下面的 java 代码进行多文件上传
Runtime.getRuntime().exec(config.getAutoITFileUploadScript() + " " + files.length + " " + fileToUpload);
这里,第一个参数是我们给的脚本的.exe文件路径。 第二个参数是我们要传递的文件数。 第三个参数是文件的路径,其中每个文件都用双引号括起来,用单个 space 分隔。(即)
"D:\karthika\uploadfiles\SampleJPGImage_5mbmb.jpg" "D:\karthika\uploadfiles\SamplePNGImage_5mbmb.png" "D:\karthika\uploadfiles\samplefile.png" "D:\karthika\uploadfiles\SamplePNGImage_3mbmb.png" "D:\karthika\uploadfiles\img16.jpg" "D:\karthika\uploadfiles\artwork.jpg" "D:\karthika\uploadfiles\image2.jpg" "D:\karthika\uploadfiles\image3.jpg" "D:\karthika\uploadfiles\image5.jpg"