我正在开发一个android应用程序,它从一个使用JavaScript的站点获取信息。
我想通过我的android应用程序运行一个java脚本函数。
例如:这个站点http://www.bgu.co.il/tremp.aspx的底部(希伯来语)有“下一页”,这是javascript函数所做的。我想通过我的应用程序进入下一页。
如何向站点发送命令“移动到下一页”或激活按钮的onClick事件?
编辑:我从这个站点获取信息,使用XML解析器(sax解析器),我想进入这个站点的下一页,以便解析它。我希望我现在说清楚了
发布于 2011-10-23 07:54:24
好的-现在我们知道你在解析这一页,我可以试着回答你的问题!
您不能在分析过的页面上“单击”某些内容,因为您没有Javascript引擎--它只是一个XML文档--一个由节点组成的文本集合。
在这种情况下,您需要计算分页系统的实际工作方式,并在类似Firebug的地方查看页面,这样做非常简单。
分页系统通过表单POST机制工作--当您单击“Next”或像'2‘这样的页码时,它只是从服务器加载相同的页面,但是设置了POST变量。
关键变量是"__EVENTTARGET“-它告诉ASP要加载哪个页面(当然是希伯来语)。
缺点是,您也需要传递该页面中的所有其他POST变量--这是与其关联值相关的每个输入。我注意到有一个名为"_EVENTVALIDATION“的名字,它的存在似乎是为了阻止人们通过"_EVENTTARGET”轻松地绕过这个问题。
像Fiddler这样的工具在这里也很有用--当您单击NEXT时,它将向服务器显示什么是POSTed --您所要做的就是在调用中再次加载页面,然后再加载下一页--然后在每个页面上重复这一点,直到没有任何东西可加载……
或者,您可以切换到使用WebView -加载页面将意味着它确实有一个Javascript引擎,你可以自动化的‘点击’(虽然我不知道具体如何做,其他答案暗示这是可能的?)
发布于 2011-10-22 17:23:36
你真的需要解释得更充分一点..。
您是在打开该页面并在代码中解析它吗?您是否嵌入了一个WebView,或者您只是在用户首选的web浏览器中创建一个打开该页面的意图?
如果是后者,那么你肯定不能按你的建议去做。
如果您使用的是WebView,我敢肯定您仍然不能以您想要的方式访问页面的DOM
这意味着你的解决方案是在你的代码中加载和解析网页--提取‘下一个’页面,然后做你想做的事情.
发布于 2011-10-22 17:25:08
查看在JavaScript中WebView部分中使用的Android开发者指南
https://stackoverflow.com/questions/7863709
复制