给定最简单的代码:
//getDialogResponse() cannot be changed.
public static int getDialogResponse() {
return JOptionPane.showConfirmDialog(null, "Make a really important choice.", "THE CHOICE", JOptionPane.YES_NO_CANCEL_OPTION);
}
public static void main(String[] args) {
int[] val = new int[1];
SwingUtilities.invokeLater(() -> {val[0] = getDialogResponse();});
//TODO: The program itself presses the 'Yes' button.
if(val[0] == JOptionPane.YES_OPTION) System.out.println("Good Choice.");
else System.out.println("Wise guy, huh?!");
}
Robot
似乎很合适,因为它需要知道新创建的对话框的位置,如果每次都不在同一位置,它将无法正常工作,所以我需要知道如何要获取按钮本身的位置,或者我需要知道一种不取决于新创建的对话框位置的方法。
另外,我无法更改getDialogResponse()
代码:那是不变的。
那我该怎么办?
sikuli支持查找对话框/按钮,并以自动化的方式单击它们。也许它会帮助您。