我正在java中编写一些脚本自动化,它会搜索一些记录中的手机号码并在gridview中找到多个记录。在此旁边,我试图通过单击下载(多个)按钮下载所有录音。 我写了下面的代码但不起作用
public static Screen s = new Screen();
Iterator <Match> matches =s.findAll("downloadbtn_wh.png"); // s is screen
Pattern pButton = new Pattern("downloadbtn_wh.png");
Match mButton;
while (matches.hasNext()) {
Match m = matches.next(); // m now could be inspected with debugging
s.click(m); // click on drop-down
if ((mButton = s.exists(pButton))!=null) {
// checks for button image and saves the match
s.click(mButton); // just click the match, do not search again
break;
}
}
此脚本在单击第一个下载按钮后停止,但我希望它应该单击gridview中的每个下载按钮。 Images
答案 0 :(得分:1)
以下代码将执行您所需的操作。
b funcname
注意:请注意,在上面的示例中,我实际上并未单击,而是仅突出显示检测到的模式,以便可视化该过程。在您的脚本中使用@Test
public void multiplePattern() throws FindFailed{
ImagePath.setBundlePath("C:\\patterns\\");
Screen s = new Screen();
Iterator<Match> it = s.findAll("downloadArrow.png");
while(it.hasNext()){
it.next().highlight(1);
}
}
之前,只需将highlight(1)
替换为click()
。
答案 1 :(得分:0)
Screen scn = new Screen();
Iterator <Match> itr = scn.findAll("image");
{
while(itr.hasNext())
{
itr.next().click();
}
}