如何运行一个javascript在网页上的网页视图Android
How to run a javascript on a webpage in a web view Android
我有一个表单,我想填写并自动提交。我尝试过使用WebviewClient,然后等待页面完成加载,然后使用evaluateJavascript进行web视图。这一切看起来都是正确的,我的javascript似乎是有效的每一个在线验证器。所以我不知道问题出在哪里。
这是我在android应用程序中为我的代码:
//Login infomration get from stored perferences.
String username = "Mil.G@gmail.com";
String password = "G12345!";
String javaScriptToLoadEmail = "document.getElementById('"email'").value = '"" + username + "'";";
String javaScriptToLoadPass = "document.getElementById('"pass'").value = '"" + password + "'";";
String javaScriptForm = "var frms = document.getElementsByName('"send2'");";
String javaScriptSubmit = "frms[0].submit();";
String superJavaScript = "<script> " +
javaScriptToLoadEmail +
javaScriptToLoadPass +
javaScriptForm +
javaScriptSubmit +
" </script>";
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("Java Script", superJavaScript);
webView = (WebView)findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.loadUrl(LoginPage);
webView.setWebViewClient(new WebViewClient()
{
@Override
public void onPageStarted(WebView view, String url, Bitmap facIcon) {
Log.d("Page is: ", "Loading");
//SHOW LOADING IF IT ISNT ALREADY VISIBLE
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d("Page is:" , "Loaded");
Log.d("Java Script", superJavaScript);
webView.evaluateJavascript(superJavaScript, null);
}
});
}
这是我试图访问和更改的html表单。
<form action=“//…//“ method="post" id="login-form">
<div class="col-2 registered-users">
<div class="content">
<h2><font><font>Customers who have already your registered</font></font></h2>
<p><font><font>If you have an account, please login.</font></font></p>
<ul class="form-list">
<li>
<label for="email" class="required"><em><font><font>*</font></font></em><font><font> E-mail address</font></font></label>
<div class="input-box">
<input type="text" name="login[username]" value="" id="email" class="input-text required-entry validate-email" title="mail address">
</div>
</li>
<li>
<label for="pass" class="required"><em><font><font>*</font></font></em><font><font> Password</font></font></label>
<div class="input-box">
<input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="password">
</div>
</li>
</ul>
<div class="col-2 registered-users">
<div class="buttons-set">
<button type="submit" class="button f-right" title="Login" name="send" id="send2"><span><span><font><font>Login</font></font></span></span></button>
</div>
</div>
</div>
</form>
这是我通过字符串发送的脚本。
<script> document.getElementById("email").value = "Mil.G@gmail.com";document.getElementById("pass").value = "G12345!";var frms = document.getElementsByName("send2");frms[0].submit(); </script>
尝试添加这一行
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
相关文章:
- Android键盘不适用于包含Javascript的网页
- 从网页打开android应用程序
- 如何解码阿拉伯语的html内容以在android网页视图中显示
- 视频未在任何具有ios和Android版本的移动设备上播放,但在网页上播放
- 如何在Android Webview中已经加载的网页上执行Javascript
- 在 android 中单击按钮时在网络视图中显示的网页部分内移动
- 如何确定网站是在 iPhone/Android 浏览器上打开的,还是从 iPhone/Android 应用程序网页视图打
- Android 网页视图中的谷歌地图
- 检测网站是在应用的 Android 浏览器还是网页视图中运行
- android:windowSoftInputMode..是否有JavaScript / meta tag/“网页”配置
- Touchstart 事件永远不会在网页加载的首次加载时在 Android Chrome 上触发
- 为什么不触发 Android 网页视图的可见性更改事件
- 鼠标无法在Android网页上工作
- 在Android版Google Chrome上调用Javascript Notification API,无法直接从网页
- 网页崩溃的Android浏览器
- 尝试在Android应用程序上传输基于Javascript的网页(同时使用WebView和Context+doit)..
- 防止视窗调整网页大小时,android软键盘是活跃的
- 使用谷歌地图的javascript网页不能在Android上工作
- Android:获取HTML从网页作为字符串HttpClient不工作
- 在android网页视图中的捏手势