2016-09-28 6 views
-1

On Button klicken:Webseite Anmeldung von WebView Javascript Android mit

public void login(View v) { 

     InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(rlayout.getWindowToken(), 0); 


     loginWebView.loadUrl("https://example.de"); 
     loginWebView.setVisibility(View.INVISIBLE); 
     loginWebView.setWebViewClient(new WebViewClient() { 

      public void onPageFinished(WebView view, String url) { 
       loginWebView.loadUrl("javascript: {" + 
         "document.getElementById('login_act').value = '" + "USNAME" + "';" + 
         "document.getElementById('login_pwd').value = '" + "PWD" + "';" + 
         "document.getElementById('submit').click();" + 
         "};"); 
      } 

      public void onPageFinished2(WebView view, String url) { 
       loginWebView.loadUrl(url); 
      } 
     }); 

     loginWebView.clearCache(true); 
     loginWebView.clearHistory(); 


    WebView view = (WebView) this.findViewById(R.id.mainwebView); 

    String url = "https://example.de"; 
    view.loadUrl(url); 


} 

On Button klicken: 1- 1. WebView Anmeldung 2- 2. WebView zeigen Seite 3- Bereit

Bei meinem erster Versuch alles funktioniert. Kein Fehler, keine Probleme. Die einzige Sache war, dass das WebView mit der Seite geladen wurde, wo ich nicht eingeloggt war.

Wie kann ich mich anmelden und was ist schief gelaufen?

+0

Liese-Meitner Gymnasium soso –

+0

@Jonasw Yes Sir – Excel1

+0

Nunja war sagt denn der Log? Bzw war genau nicht funktioniert? –

Antwort

0

Versuch zu ersetzen:

public void onPageFinished(WebView view, String url) { loginWebView.loadUrl("javascript: {" + "document.getElementById('login_act').value = '" + "USNAME" + "';" + "document.getElementById('login_pwd').value = '" + "PWD" + "';" + "document.getElementById('submit').click();" + "};"); }

mit:

public void onPageFinished(WebView view, String url) { loginWebView.loadUrl("javascript:{" + "ins=document.getElementsByTagName('input');" + "ins[0].value='usrn';" + "ins[1].value='pwd';" + "ins[2].value=true;" + "document.getElementsByTagName('form')[0].submit();" + "};"); }

Ersetzen Sie für usrn Ihren Benutzernamen und ersetzen Sie für Pwd Ihr Passwort. Verwenden Sie ins[2].value=true, um "Remember me" zu treffen. (Wenn es kein "Erinnere mich" -Kästchen löscht es)

Der letzte Eintrag traf den Submit-Button.

Hauptsourcecode von Jonas w - https://stackoverflow.com/users/5260024/jonas-w

1

(Nur ein fortschrittliches Kommentar):

"javascript:{ 
ins=document.getElementsByTagName('input'); 
ins[0].value='username'; 
ins[1].value='password'; 
ins[2].value=true; 
document.getElementsByTagName('form')[0].submit(); 
}" 

Das schrieb Benutzername in ersten, passwort ins Zweiter und setzt das Dritter auf wahr und Schick den erste formular ab ...

+0

I/chrom: [INFO: KONSOLE (1)] "Uncaught SyntaxError: Unerwartetes Ende der Eingabe", source: (1) - Fehlermeldung 'loginWebView.loadUrl (" javascript: {"+ " ins = document.getElementsByTagName ('input'); "+ " ins [0] = 'NAME'; "+ " ins [1] = 'PW'; "+ " ins [2] = true; "+ " document.getElementsByTagName ('form'). submit(); "); } 'genutze URL: https: // lmg-nhs.de/idesk/v3 – Excel1

+0

Jo sorry, hab das noch geändert, da waren ' und " vertauscht –

+0

Mit dem neuen gehts –

Verwandte Themen