好吧,所以我正在开发一个可以填写表格的应用程序。我不知道如何做到这一点,除了我需要使用Javascript的事实。此代码加载网页,但不向表单输入任何值。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
WebView myWebview = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebview.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
WebView myWebview = (WebView) findViewById(R.id.webview);
//hide loading image
findViewById(R.id.progress).setVisibility(View.GONE);
//show WebView
findViewById(R.id.webview).setVisibility(View.VISIBLE);
}
});
myWebview.loadUrl("https://www.panerabread.com/en-us/mypanera/registration-page.html");
myWebview.loadUrl("javascript:document.getElementById(\"join_first_name\").value=\"Hello World\";");
}
以下是我的第二堂课。不知道这是做什么的,我从文档中得到了它。
public class WebAppInterface {
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
}
答案 0 :(得分:1)
尝试将loadUrl(“javascript ...”)放入onPageFinished监听器。您在加载页面之前调用它。