好久没有发表文章了,自己都没有访问自己的JAVAEYE,总算空闲了,可以总结下以前项目自己觉得学到的一点好东西给大家了。这篇文章要讲的是jiffie,可能很多搞JAVA的对这个东西不是很熟悉,官方介绍是这样:
a Java/JNI library which allows Microsoft Internet Explorer to be controlled from Java. The primary purpose of this library is to allow automated regression testing of web applications using a framework like JUnit.
简单而言,就是JAVA代码驱动IE来做事情了。刚接触这个东西就很兴奋,因为在项目设计中这个东西真的帮了大忙。如果你想要用它来实现高效率的事件,我想可能有点困难,不过还是有实际用处的。入正题,先上代码。相关的包和使用的DLL文件都在附件中,一下是对重要的方法和代码做点介绍。
// ie 设置代理
private void setProxy(String proxy) {
try {
// Create a IEProxy instance
IIEProxy ieProxy = IEProxy.getInstance();
// setting proxy parameter
String[] pxy = proxy.split(":");
if (pxy != null && pxy.length == 2) {
ieProxy.setSocksProxy(pxy[0].trim(),new Integer(pxy[1].trim()));
// Enable proxy
ieProxy.enableProxy();
}} catch (IEProxyException e) {
e.printStackTrace();
}
}
以上就是写个方法创建一个设置了SOCKS代理的IE以备使用。接下来就创建InternetExplorer对象来进行模拟页面的访问了。
InternetExplorer ie = new InternetExplorer();
ie.setVisible(true);
ie.navigate("http://mail.google.com");
ie.waitReallyWhileBusy();
从英文单词的意思你应该可以看出我在做什么了吧。就是我上面说的,ie.waitReallyWhileBusy()的作用就是要等页面LOAD完毕。系统会把页面进行对象化处理,页面文档是IHTMLDocument2,图像是IHTMLImgElement,文本框是IHTMLInputElement,选择框是IHTMLSelectElement等等。当事物被对象化以后,就可以利用对象自带的属性很方法来完成你的业务逻辑了。
比如:
inputElement = getInputElement("Name", "firstName");
inputElement.setValue(info.getFirstName());
if(checkError(document.getBody().getOuterText())){
return;
}
private boolean checkError(String outerText) {
if(outerText.indexOf("An error has Occurred on this page")!=-1){
return true;
}
return false;
}
还有很多诸如此类的使用,这个要在充分了解本篇文章讲的事物:jiffie以后才会使用更爽啊!
抛砖引玉,希望大家能在这个基础上掌握更多的东西,也希望这个玩意对大家有帮助。
官方URL:http://jiffie.sourceforge.net/
分享到:
相关推荐
在描述中提到,“java版本使用的jiffie的动态链接库文件”,这表明`jiffie.dll`可能是一个专门为Java环境设计或与Java应用程序协同工作的DLL。通常,Java程序不直接使用DLL,因为Java虚拟机(JVM)提供了一个跨平台...
JIFFIE:用于Internet Explorer的Java接口是一个允许从Java控制Internet Explorer的库。 它使用Jacob JNI到COM桥来提供此控制。 JIFFIE旨在支持Web应用程序测试。
系统定时器频率(节拍率)是通过静态预处理器定义的,也是HZ,编写内核代码时,不要以为HZ值是固定不变的值。连续两次时钟的间隔时间叫做节拍,它等于节拍率分之一秒。... extern unsigned long volatile jiffie
项目中常见的问题,记录一下解决方案
2024-2025第一学期一上U1~3.pdf
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。感兴趣的朋友可以过来看看
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
全国月尺度平均气温数据集(1961-2022, 0.25° × 0.25°)是一个高分辨率的网格化平均气温数据集,覆盖了中国大陆及周边地区。 该数据集通过科学方法整合气象观测和再分析数据,为气候研究、生态模型、农业生产、以及水资源管理等领域提供了重要支持。 数据下载后可显示详细信息。
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
模拟退火算法shell脚本编程实践,分享给有需要的人,仅供参考。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
基于PCIe接口的高性能视频编辑系统
python爬虫入门,分享给有需要的人,仅供参考。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
在线音乐网站的设计与实现
电工与电子技术课程标准.doc
根据搜索结果,以下是一条关于社科数据的内容介绍:本数据集涵盖了2015至2021年间全国各地级市的关键经济指标,包括人口数量、城镇居民人均可支配收入、进出口总额以及社会消费品零售总额。这些数据为研究区域经济发展提供了宝贵的信息资源,来源于各省市统计年鉴及国家统计局的官方数据,确保了数据的权威性和准确性。数据内容全面,缺失值较少,适合用于宏观经济分析、政策评估以及学术研究等多个领域。通过这些数据,研究者可以深入了解中国各地区在不同年份的经济表现和发展趋势。
项目中常见的问题,记录一下解决方案
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
6
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。