XULRunner with Java: JavaXPCOM Tutorial 4
7. 用JavaXPCOM来自动浏览网页
在这一节里我们将解决一些自动浏览网页中的一些问题,尝试把一下通用的任务抽象成人类可读的方法,因此你可以轻易的阅读
代码并知道它的功能。我们将构建一个Web Browser来加载网页,点击按钮或者超链接,使用XPath来抽取一下有用的信息。在每一个
小节里面,我们都将在我们的浏览器里增加新的功能,因此在最后,我们将有一个Web Browser,它能够实现网页的自动
浏览。
7.1 使用我们的浏览器来加载网页
在例子 SimpleBrowser里,我们使用方法 public boolean setUrl(String url) 来让浏览器加载一个url。这个方法的问题是它
可以让浏览器开始加载一个页面,但是不会等待浏览器加载页面完成。我们写了一个方法叫做go来实现这个功能,因此后面我们将使
用这种方法来安全的加载一个页面,阻塞住执行流程直到页面加载成功或者超时。
注:实现的方法是在setUrl的时候定义一个CountDownLatch,然后监听browser.addProgressListener,等页面完成后把这个
CountDownLatch countDown一下。调用setUrl后使用CountDownLatch的await方法等待加载完成或者超时。注意调用setUrl时要启动
一个SWT线程
display.syncExec(new Runnable() {
public void run() {
browser.setUrl(url);
}
});
另外,我们可能还想获得加载后的页面内容,所有译者增加了一个变量content。增加的代码如下
browser.addProgressListener(new ProgressListener() {
public void changed(ProgressEvent event) {
}
相关文档:
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。
许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支 ......
Java软件有MIDP2.0和MIDP1.0两种。因此,我们在安装Java软件时,首先需要根据软件提供的信息判断软件是否适合自己的手机,从而避免安装之后无法使用的情况发生。 此外,有些软件可能会与手机内已经安装的软件有冲突,在安装前也应仔细看清楚相关说明。
安装常见问题解答
症状1:安装完成后却自动删除,或显示无 ......
package test;
public class TestFactory<T> {
private Class <T> cls;
public String testabc="";
pub ......
①继承TimerTask,重写run方法
package bamboo.task;
import java.util.TimerTask;
public class TimeTaskTest extends TimerTask{
@Override
public void run() {
System.out.println("hi");
}
}
②通过timer来设置某个时间来调用,或者是相隔多长时间调用
package bamboo.test;
......
LADyR是西班牙一个实验室有个web extraction的项目 http://ladyr.es/index.php?id=75 当然这个项目还没出来,不过里面有个介
绍用java嵌入浏览器的教程(http://ladyr.es/wiki/wiki/XPCOMGuide)很不错。所以把这篇文章翻译一下,顺便说说自己学习这篇
文章值得注意的地方。说明一下我使用的操作系统是windows xp。下面都 ......