2016-12-13 14 views
0

ニュースの完全な内容を見ることができるように、javascriptを使ってニュースサイトにログインします。私はここにいくつかの記事を読んだ後、私自身のコードを試してみましたが、うまくいきません。webviewでjavascriptを使用してログインできません - アンドロイド

ウェブサイト:http://m.malaysiakini.com/news/363188

ウェブサイトのフォーム:enter image description here

EDIT:以下答えるために私のコードを変更しましたが、それでも

私のソースコードは動作しません。

webViewLoadURL(); 
    webView.loadUrl("http://m.malaysiakini.com/news/363188"); 

    webView.getSettings().setJavaScriptEnabled(true); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
     webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); 

    webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
    webView.getSettings().setDomStorageEnabled(true); 

    webView.setWebViewClient(new WebViewClient() { 

     String user = "username"; 
     String pass = "password"; 

     public void onPageFinished(WebView view, String url) { 
      view.loadUrl("javascript: {" + 
        "$('input#username').val(" + user + ");" + 
        "$('input#password').val(" + pass + ");" + 
        "$('button.uk-button-primary').click();" + 
        "};"); 
     } 

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

答えて

1

Jqueryが既にページに読み込まれているようです2つのフィールドを入力し、送信ボタンをクリックします。

$('input#username').val("username"); 
$('input#username').val("password"); 
$('button.uk-button-primary').click(); 

最初の行のvalを引用符で囲むユーザー名に変更し、2番目のパスワードをパスワードに変更します。

Google Chromeを使用していて、このコードをコンソールに貼り付けるだけであれば、正しく動作するはずです(適切なログ信用があると仮定します)。

+0

こんにちは、私はGoogle Chromeで試してみましたが、動作しますが、私のコードでは動作しません:\ –

+0

どういう意味ですか?間違いましたか?それとも、あなたが間違った資格を持っていたと言われましたか – MikeSchem

+1

あなたの答えは正しいです。しかし、私がログインできない実際の理由は、ウェブサイトから発生したセキュリティ上の問題によるものです。私はちょうど答えとしてそれをとにかく受け入れます。 –

関連する問題