2014-08-29 78 views
1

您好,我想知道是否有任何方法可以從webview html元素中獲取價值。 我webview做負載頁面如下如何從android的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 
    } 
} 

以及與此google.com頁面在加載webview。 現在我想從該搜索textbox獲得價值,並存儲在數據庫 任何幫助將不勝感激。

+0

看看Selendroid。我認爲這將能夠做到。 – stealthjong 2014-08-29 14:24:55

+0

就我所知的Selenadroid而言,它是一個測試框架。可能您需要提供更多的規範。關於如何使用它。 – 2014-08-30 04:13:19

+0

我不知道Selendroid是如何工作的(我只用硒工作),但它經常用於測試目的,它提供了與瀏覽器交互的可能性,包括從網站提取信息。在selendroids網站上,它聲明它也可以與Android WebView交互。這意味着它應該適合您的需求。只是谷歌selendroid。我認爲它應該工作。 – stealthjong 2014-08-30 12:49:17

回答

2

假設你不是谷歌,但你確實想使用你自己的網站,你可以修改,我建議你在你的網頁上放置一個JavaScript,在你的Android應用程序中調用一個本地方法,並提交值從這個textfield。

此處已有線程:android - get Text out of webview

+0

其實我已經閱讀過這個主題,但是把價值提交給了web服務器。 我想要在java的活動擴展類中的後端數值 – 2014-08-30 04:07:44

+0

第一個答案將數據傳遞給本機android層,如果頁面已加載。如果用戶按下按鈕或類似按鈕,您可能想要將數據傳遞給android圖層。直到這一點,答案指出你在正確的方向。 – sschrass 2014-08-30 08:21:33

+0

view.loadUrl(「javascript:window.INTERFACE.processContent(document.getElementsByTagName('body')[0] .innerText);」);在這個加載網址中有空的類型,所以我不能做 string s = view.loadUrl(「javascript:window.INTERFACE.processContent(document.getElementsByTagName('body')[0] .innerText);」); 如果該文本框值是躺在android層然後我如何存儲在變量的android(java) – 2014-09-01 02:55:48