以下是我的硒代码
selenium.type("document.forms['UploadForm'].elements['browse']",file.getAbsolutePath());
selenium.click("document.forms['UploadForm'].elements['submit']");
我有多个表单,其中有多个浏览按钮,属性为“broswe”和d多个提交按钮,属性为submit.Since上传文件使用表单名称,我需要上传文件,即“UploadForm”并需要以相同的形式提交。
但面临的问题是没有上传文件,selenium正在点击提交按钮。
以下是自动脚本
WinWaitActive("Choose File")
Send("C:\Work\selenium\PMG_SPRINT_AUTOMATION\pmg_automation\block_PTN.csv")
Send("{ENTER}")
如何在我的selenium类中调整此代码,因为有多个selenium按钮
try {
String[] commands = new String[]{};
commands = new String[]{"C:\\Program Files\\AutoIt3\\attachDocScript.exe"}; //location of the autoit executable
Runtime.getRuntime().exec(commands);
}
catch (IOException e) {}
答案 0 :(得分:0)
你可以使用Autoit.There你可以很容易地编写上传和下载文件的脚本,然后你可以在任何需要的地方用你的selenium代码调用这些脚本。
答案 1 :(得分:0)
您只使用正确的逻辑。要上传文件,您需要在浏览区域中键入内容(文件绝对路径)而不单击该文件,然后单击“提交”以上载该文件。
即使您有多个浏览按钮,也可以使用索引或特定定位器来指定一个。
例如:
selenium.type("//span[@id='attach1']/input","/home/test/file1.csv");
selenium.type("//span[@id='attach2']/input","/home/test/file2.csv");
selenium.type("//span[@id='attach3']/input","/home/test/file3.csv");
.
.
selenium.click("submit");
答案 2 :(得分:0)
为多个文件上传创建AutoIT脚本
WinWaitActive("Open"); Name of the file upload window
Send(' C:\Users\himanichaudhary\Desktop\"Capture1.PNG" "stop.jpg" "image3" image4"');
Send("{ENTER}")
保存并编译脚本以创建“exe”
在C#代码中使用Process.start("D:\\Users\\MultiFileUpload.exe");
(AutoIt exe位于双斜杠格式的文件路径)。**
或
Runtime.getRuntime().exec("Path of file where autoIt script in exe is located");`