Я пытаюсь сделать простое взаимодействие с веб-страницей из приложения для 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;
}
});
Я не думаю, что немедленное нажатие кнопки вызывает проблему, потому что я тоже пытался нажать кнопку вручную и получил тот же результат.
Я жду ваших ответов. Пожалуйста, укажите, трудно ли понять какую-то часть вопроса.
Хорошего дня.