Как нажать на кнопку "Сохранить как" в Chrome, используя Java в LeanFT Tool?
Можно ли с помощью Java SDK от LeanFT выполнить операцию нажатия кнопки "Сохранить" в диалоговом окне "Сохранить как" в Chrome?
2 ответа
Решение
String home = System.getenv("USERPROFILE") + "\\Downloads\\";
String fileName = "xxxxxxxxx.xls";
File file = new File(home + fileName);
if (file.exists()) {
file.delete();
System.out.println("Deleted existing CurrentSortRules.xls file if it is already present");
}
Window popup = Desktop.describe(Window.class, new WindowDescription.Builder().ownedWindow(false).childWindow(false)
.windowClassRegExp("Chrome_WidgetWin_1").windowTitleRegExp(" Google Chrome").build())
.describe(Dialog.class, new DialogDescription.Builder().ownedWindow(true).childWindow(false)
.text("Save As").nativeClass("#32770").build());
Вы пытались использовать инструмент идентификации объекта для идентификации кнопки " Сохранить"?
В любом случае, я понимаю, что вы сейчас работаете с веб- технологиями, затем нажимаете кнопку Сохранить, которая затем предлагает вам сохранить файл в определенном месте.
У вас есть два варианта:
Установите Chrome, чтобы больше не спрашивать, где сохранять файлы;
Опишите кнопку Сохранить, которую вы хотите нажать, используя технологию STD.
Пример такого описания:
Desktop.describe(Window.class, new WindowDescription.Builder()
.ownedWindow(false)
.childWindow(false)
.windowClassRegExp("Chrome_WidgetWin_1")
.windowTitleRegExp(" Google Chrome").build())
.describe(Dialog.class, new DialogDescription.Builder()
.ownedWindow(true)
.childWindow(false)
.text("Save As")
.nativeClass("#32770").build())
.describe(Button.class, new ButtonDescription.Builder()
.text("&Save")
.nativeClass("Button").build());
Тогда вы можете позвонить .click
метод на этот объект (или отменить, или так далее).