загрузка фотографий с использованием класса Robot в Java - PullRequest
0 голосов
/ 05 июня 2018

Я использую компьютер Mac и пытаюсь автоматизировать сценарий загрузки фотографий.

Это шаг: 1. Нажмите на элемент «Добавить фотографию» на веб-странице 2. Это вызовет системный диалог3. Выберите фотографию в системном диалоговом окне (дважды щелкните изображение или щелкните один раз и нажмите кнопку «Открыть»), затем 4. На веб-странице появится всплывающее окно с предварительным просмотромвыбранное фото.5.В этом всплывающем окне я нажимаю кнопку «Загрузить».

Используемый мной код робота выбирает изображение на рабочем столе, но после этого не выполняет никаких действий.

Какие-либо предложения?Или есть лучший способ сделать это?

   public photo_upload_page clickOnAddphoto() throws Exception {

        waitAndClickElement(addPhoto);

        Thread.sleep(1000);
        File file = new File("/Users/mohand/Desktop/Defect.jpg");
        StringSelection stringSelection = new StringSelection(file.getAbsolutePath());
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);

        Robot robot = new Robot();

        robot.keyPress(KeyEvent.VK_META);

        robot.keyPress(KeyEvent.VK_TAB);

        robot.keyRelease(KeyEvent.VK_META);

        robot.keyRelease(KeyEvent.VK_TAB);

        robot.delay(500);

//Open Goto window

        robot.keyPress(KeyEvent.VK_META);

        robot.keyPress(KeyEvent.VK_SHIFT);

        robot.keyPress(KeyEvent.VK_G);

        robot.keyRelease(KeyEvent.VK_META);

        robot.keyRelease(KeyEvent.VK_SHIFT);

        robot.keyRelease(KeyEvent.VK_G);

//Paste the clipboard value

        robot.keyPress(KeyEvent.VK_META);

        robot.keyPress(KeyEvent.VK_V);

        robot.keyRelease(KeyEvent.VK_META);

        robot.keyRelease(KeyEvent.VK_V);

//Press Enter key to close the Goto window and Upload window

        robot.keyPress(KeyEvent.VK_ENTER);

        robot.keyRelease(KeyEvent.VK_ENTER);

        robot.delay(500);

        robot.keyPress(KeyEvent.VK_ENTER);

        robot.keyRelease(KeyEvent.VK_ENTER);

        Thread.sleep(1000);

        waitAndClickElement(buttonUploadPhoto);

        return new photo_upload_page();
    }


}

1 Ответ

0 голосов
/ 06 июня 2018

Хорошо, я только что понял это.Я просто добавил приведенный ниже код пару раз после шагов 4, и это сработало!

robot.keyPress(KeyEvent.VK_ENTER);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...