How to perform a button click inside a Webview Android
If you want to click on a button inside html page like skip as button for adfly or other sites.
Use this code
webview.loadUrl("javascript:document.getElementById('skip_button').click()");
if your Button is in your Html page so you can simply run javaScript code to simulate click event like this:
view.loadUrl("javascript:clickFunction()");
also you need to define clickFunction in your Html page:
function clickFunction() {
//click event
}
or you can add above function by javascript too:
view.loadUrl("javascript:clickFunction(){ //click event })()");
UPDATE:
<html>
<head>
<script>
function clickFunction(){
var form = document.getElementById("myform");
form.submit();
}
</script>
</head>
<body>
<form id="myform" name="pg_frm" method="post" action="https://www.paygol.com/pay" >
<input type="hidden" name="pg_serviceid" value="333818">
<input type="hidden" name="pg_currency" value="EUR">
<input type="hidden" name="pg_name" value="Donation">
<input type="hidden" name="pg_custom" value="">
<input type="hidden" name="pg_price" value="0.5">
<input type="hidden" name="pg_return_url" value="">
<input type="hidden" name="pg_cancel_url" value="">
<input type="image" name="pg_button" src="https://www.paygol.com/webapps /buttons/en/white.png" border="0" alt="Make payments with PayGol: the easiest way!" title="Make payments with PayGol: the easiest way!" >
</form>
</body>
</html>
I figured out what the problem was. I had to wait that the page was loaded before to call another view.load..
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView view = (WebView) findViewById(R.id.webView);
WebSettings faller = view.getSettings();
String url = "http://catcheat.net/test/test.html";
faller.setJavaScriptEnabled(true);
view.loadUrl(url);
view.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view , String url){
view.loadUrl("javascript:clickFunction()");
}
});
}