2016-04-07 65 views
1

我正在嘗試爲網站創建一個Android應用程序,這不是我的。但是是餐廳的搜索引擎。他們沒有任何API可以使用。並且我想要無條件地瀏覽他們的網站並將搜索查詢放在HTML表單中並單擊提交按鈕。然後解析結果並將其與我的應用程序代碼一起使用。在做了大量的研究之後,我終於要求了。 Question 1Question 2,Question 3和更多,我目前爲止看。因此,所有我迄今所知道的是,如果我想要做在Google.com相同我會寫:Android無頭瀏覽WebView?

myWebView.getSettings().setJavaScriptEnabled(true); 

myWebView.loadUrl("http://www.google.com/"); 

myWebView.setWebViewClient(new WebViewClient() { 

@Override 
public void onPageFinished(WebView view, String url) { 
     //Load HTML 
      myWebView.loadUrl("javascript:document.getElementById('q') =" + "StackOverFlow" + "; document.getElementByName('btnK').click();"); 
     } 
    }); 

在上面的代碼我試圖把「計算器」搜索詞,點擊搜索按鈕。但它不工作。請在此代碼中幫助我,或者指引我朝着正確的方向發展。

+0

任何幫助將不勝感激 –

+2

我想,創建一個檢索網站上公開的數據的應用程序並不是在竊取。就像一個Facebook客戶端,Youtube客戶端以及谷歌如何工作(通過網站爬行)。 –

回答

0

已經有一段時間了,但爲了讓別人知道,webviews不再使用loadUrl來運行Javascript。嘗試使用evaluateJavascript

既然你也提到了無頭的瀏覽,我會在你的客戶推薦壓倒一切的shouldInterceptRequest所有不必要的文件(如CSS,圖像和也許JS因網站)重定向到一個空白的InputStream