android webview点击模拟

时间:2011-05-25 20:32:11

标签: android webview click simulation

我想知道是否可以从网站加载框架,填写文本框,按提交按钮并从该页面获取结果?我需要在后台执行此操作,因此我的webview永远不会显示,只显示了edittext和textview ...

2 个答案:

答案 0 :(得分:-1)

你不能用http请求做你提到的东西吗? 你需要什么WebView?

答案 1 :(得分:-1)

您可以使用httpGet获取页面,httpPost可以在用户按下提交时发布结果。您所要做的就是确保帖子包含网页所需的数据,以及它所期望的格式。

检查所需内容的好方法是使用Firefox Live HHTP Headers添加(https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/).

例如,GET可能是

URI uri = new URI(<your URL here>);
HttpGet request = new HttpGet(uri);
HttpResponse response = defaultHttpClient.execute(request);
HttpEntity entity = response.getEntity();
String content = EntityUtils.toString(entity);

然后您使用编辑文本框和按钮等设置您的Android视图。当用户按下提交时,您将从编辑文本框中获取文本,然后构建如下的POST。

URI uri = new URI(<your URL here - without a host>);
HttpPost request = new HttpPost(urri);
request.setHeader("Content-type", "application/x-www-form-urlencoded");

List<NameValuePair> bodyParams = new ArrayList<NameValuePair>();
bodyParams.add(new BasicNameValuePair(<parameter name string>, <parameter value string>);
// repeat additional bodyParams.add() as necessary for further parameters
request.setEntity(new UrlEncodedFormEntity(bodyParams, HTTP.UTF_8));
HttpHost httpHost = new HttpHost(<your host here>);
HttpResponse response = defaultHttpClient.execute(httpHost, request);
HttpEntity entity = response.getEntity();
String content = EntityUtils.toString(entity);