Не правильно работает JavaScript в WebView Android

195
18 мая 2018, 00:30
  1. Нужно заполнить форму на сайте, используя JavaScript.
  2. Запустить скрипт для заполнения форм на сайте. Но такой метод не работает. Результат на скриншоте: Висит текст, который я хотел закинуть в форму. Если использовать этот метод JavaScript в Google Chrome с компа - всё окей, заполняет что нужно.

КОРОТКО: Нужно управлять страницей WebView с Android используя JavaScript: заполнять формы, нажимать кнопки. Многие методы работают на пк, но не на андрюше... API на сайте нету, да и сайт не мой, но нужно запилить приложение для обработки данных, которые можно взять только после авторизации.

    mWebView = (WebView) findViewById(R.id.webView);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setDomStorageEnabled(true);
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.loadUrl("http://dekanat.kneu.edu.ua/cgi-bin/classman.cgi?n=2");
    mWebView.setWebViewClient(new WebViewClient() {
        public void onPageFinished(WebView view, String url)
        {
            mWebView.loadUrl("javascript: document.getElementById(\"user_name\").value = \"TEST\";");
        }
    });
  1. Если загружаю этот скрипт:

    mWebView.loadUrl("javascript: alert(\"TEST\");");

Answer 1

Установка свойств присвоением не всегда работает как хотелось, но можно это сделать и методом element.setAttribute(attributename, attributevalue):

    document.getElementById('user_name').setAttribute('value', 'TEST');
READ ALSO
Не могу распарсить сайт

Не могу распарсить сайт

Не могу распарсить подобные страницы https://wwwflashscore

151
Почему не могу передать из метода массив?

Почему не могу передать из метода массив?

Из-за объекста , как я думаю

192
Связка spring + hibernate + log4j + mysql

Связка spring + hibernate + log4j + mysql

Стоит задача сделать простейшее взаимодействие между 4мя технологиямиТ

206