i want to click a button in webview by get element . and also i want use it in a service . i write this code . but its not work.
public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void onCreate() {
super.onCreate();
final WebView[] wv = {new WebView(MyService.this)};
wv[0].getSettings().setJavaScriptEnabled(true);
wv[0].getSettings().setSupportMultipleWindows(true);
wv[0].getSettings().setAppCacheEnabled(false);
wv[0].setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
wv[0].addJavascriptInterface(new Object() {
@JavascriptInterface
public void test() {
}
}, "test");
wv[0].setWebChromeClient(new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
return true;
}
});
wv[0].getSettings().setUserAgentString("Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
wv[0].loadUrl("http://example-site.com");
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
wv[0].evaluateJavascript("document.getElementsById('my_button')[0].click();", null);
}
}, 25000);
}
}
i use a timer for load . its 25 s. please help for solve this problem