【问题标题】:How to get value from textbox of webview in android?如何从android中的webview文本框中获取价值?
【发布时间】:2014-08-29 10:34:50
【问题描述】:

您好,我想知道有没有办法从webview html 元素中获取价值。 我确实在webview 中加载页面如下

package example.samplewebview; 

import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 

public class MainActivity extends Activity {
    WebView wv;

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wv = (WebView) findViewById(R.id.webView1);
        wv.getSettings().setJavaScriptEnabled(true);
        wv.loadUrl("http://www.google.com");
        wv.get
    }
} 

并在webview 中加载此 google.com 页面。 现在我想从搜索中获取价值textbox 并存储在数据库中 任何帮助将不胜感激。

【问题讨论】:

  • 看看 Selendroid。我认为那将能够做到。
  • 就我对 Selenadroid 的了解而言,它是一个测试框架。请您提供更多规范。关于如何使用它。
  • 我不知道 Selendroid 是如何工作的(我只使用 selenium),但尽管它经常用于测试目的,但它提供了与浏览器交互的可能性,包括从网站中提取信息。在 selendroids 网站上,它声明它也可以与 Androids WebView 交互。这意味着它应该适合您的需求。只是谷歌selendroid。我认为它应该有效。
  • 谢谢,我为它做了谷歌,api中有一个webdriver类,但他们没有提供文档。所以它似乎很难实现它。无论如何感谢您的帮助。

标签: java android webview


【解决方案1】:

假设您不是谷歌,但您确实想使用您自己的网站,您可以修改,我建议您在您的网页上放置一个 javascript,调用您的 Android 应用程序中的本机方法并提交来自的值这个文本字段。

这里已经有一个关于该主题的帖子:android - get Text out of webview

【讨论】:

  • 实际上我已经阅读了这个帖子,但是将值提交给了网络服务器。我希望在 java 的活动扩展类的后端具有该值
  • 如果页面已加载,第一个答案会将数据传递到本机 android 层。如果用户按下按钮或类似按钮,您可能希望将数据传递给 android 层。直到那时,答案才能为您指明正确的方向。
  • view.loadUrl("javascript:window.INTERFACE.processContent(document.getElementsByTagName('body')[0].innerText);");在这个加载 url 有 void 类型所以我不能做 string s=view.loadUrl("javascript:window.INTERFACE.processContent(document.getElementsByTagName('body')[0].innerText);");如果该文本框值位于 android 层上,那么我如何存储在 android (java) 的变量中
  • 感谢您的链接,我会尽力弄清楚。
猜你喜欢
  • 2012-06-04
  • 2014-03-04
  • 1970-01-01
  • 2012-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多