2011-06-12 10 views
2

안녕 프로그래밍 방식으로 로그인 양식을 작성하고 일부 웹 사이트에 로그인 버튼을 클릭 호출하고 싶습니다. 이 조각에서 같은이 달성하기 위해 노력하고프로그래밍 방식으로 웹 사이트에 로그인

임 :

public class LoginActivity extends Activity { 
WebView mWebView; 
Button btn; 
EditText txtLogin; 
EditText txtPassword; 
WebView webview; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    btn = (Button)this.findViewById(R.id.button1); 
    txtLogin = (EditText)this.findViewById(R.id.txtLogin); 
    txtPassword = (EditText)this.findViewById(R.id.txtPassword); 
    webview = (WebView)findViewById(R.id.webView1); 
    webview.setWebViewClient(new WebClient()); 
    webview.getSettings().setJavaScriptEnabled(true); 
    btn.setOnClickListener(new OnClickListener() 
    { 
     public void onClick(View v) 
     { 

      OpenWebContent(); 
     } 
    });   

} 
public void OpenWebContent() 
{ 
    webview.loadUrl("http://www.www.com");   
} 

public class WebClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) 
    {  

       view.loadUrl("javascript:(function() { " + 
        "document.getElementsByTagName('user').value = " + "'mylogin'" + ";" + 
       "document.getElementsByTagName('password').value = " + "'mypassword'" + ";" + 
       "document.getElementsByTagName('input')[4].click(); " + 
       "})()"); 

    } 
} 

Unfortunetly 작동하지 위의 코드. 내가 뭔가 빠뜨린거야? 제안 해 주셔서 감사합니다.

+0

이 수단 "작동하지 않는"무엇인지 설명하기 위해 따라야한다고 생각합니다. – CommonsWare

+0

@ CommonSWare. 그 자바 스크립트 코드를 발사하지 않는 것 같아. 비록 내가 js snippet에 "alert ('test')"를 넣어도 아무 것도 나타나지 않는다. – movax

답변

2

우선 - 모든 자바 스크립트 메소드가 지원되는 것은 아니지만 (지원되지 않거나 지원되지 않는 목록을 찾을 수는 없지만). 이 경우

는 난 당신이 당신이 유용하게 사용할 수 easy example.

관련 문제