Входное значение возвращает пустую строку в журнале JS - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь сделать простое взаимодействие с веб-страницей из приложения для Android с помощью JavaScript. Вот проблема: я мог бы заполнить место ввода текста изменением значения соответствующего поля ввода текста с помощью JavaScript. Однако, когда я нажимаю кнопку (которая должна оценивать информацию из поля ввода текста), значение поля ввода текста отображается в виде пустой строки.

Любой тип взаимодействия с пользователем (например, помещение пробела в конец строки и его удаление) превращает все в нормальное состояние. Однако, поскольку я пытаюсь автоматизировать весь процесс, это не вариант.

Код, который я использую для заполнения поля ввода текста, очень похож на этот код:

String username = "cristian";
webview.loadUrl("javascript:document.getElementById('username').value = '"+username+"';");

И как я это называю:

webView.setWebChromeClient(new WebChromeClient(){
            @Override
            public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
                if(consoleMessage.message().contains("DEPRECATED")){
                    tester.setValueForItemWithId("comp-jo5fnli5input", loginInfo);
                    tester.clickOnItemWithClassName("b4label", 0);
                }
                if(consoleMessage.message().contains("User is logged in")) {
                    Toast.makeText(getBaseContext(), consoleMessage.message(), Toast.LENGTH_LONG).show();
                }
                return true;
            }
        });

Я не думаю, что немедленное нажатие кнопки вызывает проблему, потому что я тоже пытался нажать кнопку вручную и получил тот же результат.

Я жду ваших ответов. Пожалуйста, укажите, трудно ли понять какую-то часть вопроса.

Хорошего дня.

...