【发布时间】:2020-08-27 07:13:34
【问题描述】:
我是 Sikuli 的新手。我正在自动化一个可以选择上传文件的 Web 应用程序。 当我单击上传按钮时,它会打开一个弹出窗口。在该窗口中,我必须选择一个文件。我如何使用 sikuli 来做到这一点。 我使用的是 linux 操作系统,所以无法使用 AutoIT。
下面是我正在尝试的代码
public static void imageClick()
{
Screen s= new Screen();
try {
s.capture();
s.find("Desktop.png");
s.click("Desktop.png",0);
System.out.println("Desktop is selected");
} catch (FindFailed e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Desktop.png 是我保存在项目中的图像文件。首先我搜索它然后点击它。
任何人都可以帮助我如何实现这一目标。任何帮助将不胜感激。
【问题讨论】:
-
您可以捕获上传文件对话框中显示的文本框的确切屏幕截图。然后使用
s.type()方法发送文件路径。像这样的东西:s.type(new Pattern("./img/FileTextBox.png"),"/path/to/file/to/upload"); -
@mk08:实际上在我的情况下,文本框不会出现。
-
哦,你能分享那个对话窗口的截图吗?可能可以考虑一些解决方法。
-
@mk08: 请检查我点击上传按钮时得到的对话框
-
嗯,你可以先点击搜索,会在要搜索的文件中给出发送文本框。您可以在此处传递文件路径并以编程方式按 Enter 键。现在按 Tab 键突出显示搜索结果并单击底部的打开按钮。
标签: selenium-webdriver automation sikuli