Published 2021. 3. 10. 23:34
반응형
안드로이드 webView javaScript value 값 입력
Android WebView javaScript Value
안드로이드에는 webView가 있으며 웹뷰는 어느 정도 컨트롤이 가능하다.
하지만 네이티브 영역이 아니기에 웹 영역에 버튼이나 텍스트를 입력할 수 없다.
이를 해결할 수 있는 방법으로 javaScript를 이용할 수 있다. value값 입력 및 button 클릭 동작을 할 수 있다.
@Override
public void onPageFinished(WebView view, final String url) {
super.onPageFinished(view, url);
String script = "javascript:document.getElementById('id').value='valueHere';";
view.evaluateJavascript(script, new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
}
});
view.loadUrl("javascript:doLogin()");
}
만약 웹뷰의 필요한 영역의 id가 없으면 사용을 못하지만, 어지간하면 없을 수 없다.
javascript:document.getElementById('id').value='valueHere';
value값 입력의 경우 위 스크립트를 사용하며 "id"란에 해당 id값을 넣고 value에 입력할 값을 넣으면 된다.
javascript:doLogin()"
버튼의 클릭 동작의 경우 버튼을 누를 경우 실행되는 스크립트이름을 실행하면 된다
webView가 다 그려진 후 동작하는게 맞다고 생각하며 onPageFinished에서 실행하였으며, onPageFinished에서 잘 동작하는 것을 확인하였기 때문에 다른 위치에서는 테스트해보지 않았다.
반응형