Osc*_*dez 4 javascript java android webview
我正在尝试自动填写学校网站上的表格。我已经看到了一些使用 javascrip 的方法。
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.navegador_siiau_layout);
navegador_siiau = (WebView) findViewById(R.id.wv_navegador_siiau);
navegador_siiau.getSettings().setJavaScriptEnabled(true);
navegador_siiau.loadUrl("http://siiauescolar.siiau.udg.mx/wus/gupprincipal.inicio");
navegador_siiau.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
String user="207512134";
String pwd="FENMAA";
view.loadUrl("javascript:document.getElementsByName('p_codigo_c').value = '"+user+"';document.getElementsByName('p_clave_c').value='"+pwd+"';");
}
});
}
Run Code Online (Sandbox Code Playgroud)
结果是一个空白页,其中包含我尝试放入表单中的最后一个字符串...我该怎么做才能正确填写并提交表单?
这对我来说适用于大于 18 的 API 版本
mWebView = findViewById(R.id.web_view);
String url = "https://duckduckgo.com";
mWebView.loadUrl(url);
mWebView.getSettings().setJavaScriptEnabled(true);
final String js = "javascript:document.getElementById('search_form_input_homepage').value='android';" +
"document.getElementById('search_button_homepage').click()";
mWebView.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view, String url){
if(Build.VERSION.SDK_INT >= 19){
view.evaluateJavascript(js, new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
}
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
这里重要的是 view.evaluateJavascript
| 归档时间: |
|
| 查看次数: |
9532 次 |
| 最近记录: |