Joa*_*ert 4 javascript android login webview
因此,阅读我读到我可以"注入"javascript到一个加载的网页以编程方式填写网站的表单,所以我尝试了以下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView WebView;
WebView = (WebView) findViewById(R.id.webview);
WebView.setWebViewClient(new HelloWebViewClient());
WebView.getSettings().setJavaScriptEnabled(true);
WebView.getSettings().setBlockNetworkImage(false);
WebView.loadUrl("http://www.kingsage.es");
String username = "XXX";
String Password = "YYY";
WebView.loadUrl("javascript:document.getElementById('login_player').value='"+username+"';javascript:document.getElementById('login_passwd').value = '"+Password+"';");
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在模拟器上运行它时,我得到一个错误,好像无法找到该网站.如果我关闭第二个loadUrl方法我加载网站,但我需要以编程方式填写登录表单!,我想我做错了但我没有找到并回答阅读.任何帮助,将不胜感激!!
你需要等到网页加载(使用WebViewClient)然后执行你的javascript
webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished (WebView webView, String url)
{
webView.loadUrl("javascript:document.getElementById('login_player').value='"+username+"';javascript:document.getElementById('login_passwd').value = '"+Password+"';");
}
});
Run Code Online (Sandbox Code Playgroud)
确保您只执行一次,而不是每次onPageFinished事件
| 归档时间: |
|
| 查看次数: |
7409 次 |
| 最近记录: |