我想使用Selenium WebDriver在Google中搜索图片。 我编写了一个AutoIt脚本来从驱动器中选择图像。 AutoIt脚本无法使用chrome,它可以与Firefox一起使用。
这是我的脚本 -
WinWait("[CLASS:#32770]","",5)
ControlFocus("File Upload","","Edit1")
Sleep(2000)
ControlSetText("File Upload", "", "Edit1", "image.jpg")
Sleep(2000)
ControlClick("File Upload", "","Button1");
我的Java代码中也没有任何异常。 我还下载了Chrome的AutoIt扩展,但它没有用。 谁知道原因?
答案 0 :(得分:1)
您是否尝试将控件名称更改为Chrome提供的名称。我相信Chrome会将文件上传字段识别为"打开",IE将其视为"选择要上传的文件"。
答案 1 :(得分:0)
我遇到了同样的问题。我在执行AutoIT命令之前等了2秒钟,现在可以正常工作了。
我假设您编译了AutoIT脚本并将.exe文件命名为Upload。下面是我写的java代码 -
Thread.wait(2000);
String command ="C:\\Users\\Casper\\Desktop\\Resume\\Upload.exe";
Runtime.getRuntime().exec(command);
现在问题是为什么我在开始上传前等待2秒钟,答案就是你在浏览器中单击上传按钮后,os控制框需要一些时间才能打开,但在我们的代码中我们不断传递命令,因为它文件上传失败没有任何异常。我只是给了一个2秒的时间来java,以便os控制窗口可以打开,然后我正在执行我的代码。
答案 2 :(得分:0)
ControlFocus("Open","","Edit1")
ControlSetText("Open","","Edit1","C:\Import\assesse-import.csv")
ControlClick("Open","","Button1")
使用“打开”更新“文件上传”并再次编译AutoIT脚本,它应该可以正常工作。