Я получаю всплывающее окно аутентификации в браузере Safari при попытке подключиться к одному из внутренних веб-сайтов https://staging.toyota.com, и я написал приведенная ниже пользовательская функция, использующая класс Robot для ввода учетных данных аутентификации
private static void loginTier1(String value) {
System.out.println("I was called!!!");
try {
Robot r = new Robot();
r.delay(6000);
System.out.println("Inside loginTier1");
for(char c : value.toCharArray()){
if(c=='_') {
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_MINUS);
r.keyRelease(KeyEvent.VK_MINUS);
r.keyRelease(KeyEvent.VK_SHIFT);
}else if(c=='%') {
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_5);
r.keyRelease(KeyEvent.VK_5);
r.keyRelease(KeyEvent.VK_SHIFT);
}else if(c=='$') {
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_4);
r.keyRelease(KeyEvent.VK_4);
r.keyRelease(KeyEvent.VK_SHIFT);
}else if(c=='!') {
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_1);
r.keyRelease(KeyEvent.VK_1);
r.keyRelease(KeyEvent.VK_SHIFT);
}
else {
if(Character.isAlphabetic(c) && Character.isUpperCase(c))
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.getExtendedKeyCodeForChar(c));
r.keyRelease(KeyEvent.getExtendedKeyCodeForChar(c));
if(Character.isAlphabetic(c) && Character.isUpperCase(c))
r.keyRelease(KeyEvent.VK_SHIFT);
};
}
}catch(AWTException e) {
throw new RuntimeException("robot fail: "+e.getMessage());
}
}
Но во время выполнения браузер Safari не принимает событие KeyPress и блокируется с помощью приведенного ниже снимка экрана
Не могли бы вы помочь мне, как я могу решить эту проблему?