我有selenium脚本通过网站获取报价然后获取文件上传,点击元素和文件上传窗口打开。我的AutoIt脚本在下面,当我手动执行它时它可以工作。
WinWait("[CLASS:#32770]","",10)
ControlFocus("File Upload", "", 1148)
Sleep(2000)
ControlSetText("File Upload", "", 1148, "C:\Users\kmaklakova\IdeaProjects\WizardLabelsRegression\vector.jpg")
Sleep(2000)
ControlClick("File Upload", "", 1)
当我尝试在Java运行时运行它时,它退出ecit code 1
uploadArea1.click();
Process p = Runtime.getRuntime().exec("C:\\AutoIt3\\new.exe");
p.waitFor();
if (p.exitValue()==1) {
System.out.println("YAY!");
}
else {
System.out.println("boo");
}
label1Name.setValue("test");
有谁知道是什么原因?
答案 0 :(得分:1)
您是否尝试使用以下部分来执行autoIT而不是使用Process“Runtime.getRuntime()。exec(”C:\ AutoIt3 \ new.exe“); 并使用一些等待以便上传文件。
请注意,我所说的只是运行“CMD”命令,而不是关于上传文件脚本的实现。
答案 1 :(得分:1)
单击元素后必须进行一些睡眠。这是修改后的代码:
uploadArea1.click();
Thread.sleep(5000);
Process p = Runtime.getRuntime().exec("C:\\AutoIt3\\new.exe");
p.waitFor();
if (p.exitValue()==1) {
System.out.println("YAY!");
}
else {
System.out.println("boo");
}
label1Name.setValue("test");
运行此代码,它就像魅力一样。