java无头浏览器_java – 使用无头浏览器的Android Web Scraping
2周后,我承认失败,正在使用一种对我来说非常有用的解决方法。
问题:
将HTMLUnit移植到Android(或至少具有我的专业水平)是太难了。我相信它是一个有价值的项目(而不是耗费经验的java程序员)。我通过电子邮件发送了HTMLUnit的家伙,他们评论说他们没有考虑到一个端口,或者涉及到什么工作,但建议任何想要从这样一个项目开始的人都应该向他们的邮件列表发送一个消息,让更多的开发者参与(http://htmlunit.sourceforge.net/mail-lists.html) 。
解决方法:
我使用Android的内置WebView,并覆盖了WebView类的onPageFinished方法,以注入Javascript,该页面在完全加载之后抓取所有的html。 Webview也可以用来调用javascript动作,单击按钮,填写表单等。
码:
webView.getSettings().setJavaScriptEnabled(true);
MyJavaScriptInterface jInterface = new MyJavaScriptInterface(context);
webView.addJavascriptInterface(jInterface, "HtmlViewer");
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
//Load HTML
webView.loadUrl("javascript:window.HtmlViewer.showHTML
('
'+document.getElementsByTagName('html')[0].innerHTML+'');");
}
webView.loadUrl(StartURL);
ParseHtml(jInterface.html);
public class MyJavaScriptInterface {
private Context ctx;
public String html;
MyJavaScriptInterface(Context ctx) {
this.ctx = ctx;
}
@JavascriptInterface
public void showHTML(String _html) {
html = _html;
}
}
java无头浏览器_java – 使用无头浏览器的Android Web Scraping相关推荐
- java操作浏览器_java selenium 操作浏览器实例
导读热词 本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 截图操作 模拟鼠标操作 杀掉Windows浏览器进程 浏览器最大化 前进,后退, 刷新 public s ...
- java怎么打开指定的浏览器_Java之——打开浏览器访问指定页面
不多说,不废话,直接上代码,大家都懂得. package com.lyz.test; import java.awt.Desktop; import java.io.IOException; impo ...
- JAVA导出Excel到浏览器_java 怎么在浏览器中生成导出excel
展开全部 /** * 出险信息导出到excel(fc) * @param mapping * @param form * @param request * @param response * @thr ...
- java 图形校验_java图形验证码生成工具类 web页面校验验证码
java图形验证码生成工具类 web页面校验验证码 发布于 2020-7-14| 复制链接 摘记: 最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善.验证码生成器: ```java i ...
- android java设置颜色_java – 设置背景颜色:Android
06000 而不是#rrggbb,您应该使用rr,gg和bb的十六进制值0到F: 例如Color.parseColor("#000000")或Color.parseColor(&q ...
- java条件触发_java – 当给定75:android时,条件不会触发
好吧,所以这可能是一个愚蠢的问题,一个业余程序员试图尝试他的方式基本使用 Android图形,但在这里. 为了让我熟悉2D Android图形来帮助我的朋友,他希望我将他的想法用于他的游戏,我决定尝试 ...
- java restlet 教程_java – 如何使用RESTlet在RESTful Web服务中强制执行“会话”?
1) how do we authenticate and authorize Client in Step 2 and 3 if there is no session maintained on ...
- java编写的浏览器_Java编写简单的网页浏览器
时间:2019-01-25 概述:网页浏览器 Web 浏览器 用Java语言编写实现一个简单的WEB浏览器,我们经常要在Internet 上浏览网页,这就需要浏览器,目前使用比较广泛的是Interne ...
- java 浏览器 excel导出excel_使用Java导出Excel表格并由浏览器直接下载——基于POI框架...
非异步方法 /** * 使用Java导出Excel表格并由浏览器直接下载--基于POI框架 * * @param response * @return * @throws IllegalAccessE ...
- mac java调用浏览器_mac osx 下 浏览器 开启 java
工作环境mac osx 浏览器 chrome:63.0.3239.132 (Official Build) (64-bit) firefox: 57.0.4 (64 位) safari:Version ...
最新文章
- PostgreSQL调研
- 设计前沿:16款扁平风格 iOS 7 图标设计
- ASP.NET 开发人员不必担心 Node 的五大理由
- 我的英语六级考试成绩
- vue cli脚手架项目利用webpack给生产环境和发布环境配置不同的接口地址或者不同的变量值。...
- Mac新手入门:关于Mac睡眠、开机密码的取消与更改教程
- 学生信息管理系统_C语言实现_单链表
- SWF是什么文件,SWF文件用什么软件可以打开
- 一文图解自定义修改el-table样式
- 甲骨文再传裁员,补偿N+6,昔日硅谷巨头缘何败走中国
- 证券机构分析师研报靠谱么?关于波司登沽空与买入报告
- Python练手项目:计算机自动还原魔方(4)还原底部两层+顶面
- 蓝桥杯_练一练「鲁卡斯队列」 java
- 定积分及其应用知识点总结_高中定积分知识点总结
- 2017第15届中国(武汉)国际汽车服务产业博览会会刊(参展商名录)
- EXCEL里如何知道某种颜色的ColorIndex的值
- Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎
- 前端开发规范:CSS 代码规范指南
- linux服务器 增量,CentOS 自动备份增量文件
- 如果修改代码后,又想恢复修改之前的状态怎么办?