Я хочу поместить значение, которое пользователь ввел в тексте редактирования, в текстовое поле веб-сайта, открываемого через Webview
В основном я пытаюсь сделать
-Два editText (пользователь и пароль)
отправьте значения в текстовое поле веб-просмотра, а затем нажмите «Войти» автоматически
это код переопределения метода onPageFinished
@Override
public void onPageFinished(WebView view, String url)
{
view.loadUrl("javascript:(function() { " +
"document.getElementById('m_login_email').value ='emailfromAndroidEdittext'; " +
"})()");
view.loadUrl("javascript:(function() { " +
"document.getElementById('m_login_password').value = 'passwordfromAndroidEdittext'; " +
"})()");
view.loadUrl("javascript:(function() { " +
"document.getElementsByClassName('_54k8 _52jh _56bs _56b_ _28lf _56bw _56bu')[0].click();" +
"})()");
Так как мне изменить emailfromAndroidEdittext и passwordfromAndroidEdittext на значения, которые пользователь ввел в Edittext в приложении?
Что я пытался
@Override
public void onPageFinished(WebView view, String url)
{
String test="hi";
view.loadUrl("javascript:(function() { " +
"document.getElementById('m_login_email').value =test"; " +
"})()");
view.loadUrl("javascript:(function() { " +
"document.getElementById('m_login_password').value = 'passwordfromAndroidEdittext'; " +
"})()");
view.loadUrl("javascript:(function() { " +
"document.getElementsByClassName('_54k8 _52jh _56bs _56b_ _28lf _56bw _56bu')[0].click();" +
"})()");
Таким образом, чтобы javascript прочитал значения, он должен быть объявлен как var
, а не String
проверено на хромированной консоли
var test="hi";
document.getElementById('m_login_email').value =test
Работает, но это javascript, а не java, поэтому var не будет работать, и если я найду обходной путь для строки в var, я не смогу поместить значение edittext в тестовую переменную
Спасибо