我正在尝试使用Crawljax抓取javascript网页(IFrame html标签中存在的内容)。我已经在应用程序中添加了slf4j,crawljax 2.1和番石榴18.0jar。
弹出窗口中显示的错误消息:
cannot find symbol
import com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder;
symbol: class CrawljaxConfigurationBuilder
location: class CrawljaxConfiguration.
法典:
import com.crawljax.core.CrawlerContext;
import com.crawljax.core.CrawljaxRunner;
import com.crawljax.core.configuration.CrawljaxConfiguration;
import com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder;
import com.crawljax.core.plugin.OnNewStatePlugin;
import com.crawljax.core.state.StateVertex;
public class CrawljaxExamples {
public static void main(String[] args) {
CrawljaxConfigurationBuilder builder
= CrawljaxConfiguration.builderFor("http://help.syncfusion.com/ug/wpf/default.htm#!documents/overview.htm");
builder.addPlugin(new OnNewStatePlugin() {
@Override
public void onNewState(CrawlerContext context, StateVertex newState) {
}
@Override
public String toString() {
return "Our example plugin";
}
});
CrawljaxRunner crawljax = new CrawljaxRunner(builder.build());
crawljax.call();
}
}
错误信息:
java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Uncompilable source code - cannot find symbol
symbol: class CrawljaxConfigurationBuilder
location: class com.crawljax.core.configuration.CrawljaxConfiguration
at crawljaxexamples.CrawljaxExamples.<clinit>(CrawljaxExamples.java:12)
Exception in thread "main" Java Result: 1
相同的代码可以在下面的链接中找到,
https://github.com/crawljax/crawljax/blob/master/examples/src/main/java/com/crawljax/examples/PluginExample.java
有人可以告诉运行此程序需要哪些jars文件吗?还是在 IDE 中有任何要更改的设置?
谢谢
您似乎正在使用旧版本的 crawljax。
下载最新版本 crawljax-cli-3.5.1.zip
添加 lib 文件夹中的所有 jar 和主文件夹中的 crawljax-cli-3.5.1.jar 作为 lib 路径。
经过测试,现在效果很好。