首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovy htmlunit

Groovy htmlunit
EN

Stack Overflow用户
提问于 2010-10-27 01:17:23
回答 2查看 1.9K关注 0票数 1

我在将htmlunit (htmlunit.sf.net)导入groovy脚本时遇到了问题。

我目前只是使用web上的示例脚本,它给了我无法解析类com.gargoylesoftware.htmlunit.WebClient的

剧本是:

代码语言:javascript
复制
import com.gargoylesoftware.htmlunit.WebClient

client = new WebClient()
html = client.getPage('http://www.msnbc.msn.com/')
println page.anchors.collect{ it.hrefAttribute }.sort().unique().join('\n')

我从网站下载了源代码,并将com文件夹(及其所有内容)放在脚本所在的位置。

有人知道我遇到了什么问题吗?我不太清楚它为什么不进口它

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-27 08:13:16

您可以在脚本运行时使用Grape为您获取依赖关系。最简单的方法是向import语句添加一个@Grab注释。

如下所示:

代码语言:javascript
复制
@Grab('net.sourceforge.htmlunit:htmlunit:2.7')
import com.gargoylesoftware.htmlunit.WebClient

client = new WebClient()

// Added as HtmlUnit had problems with the JavaScript
client.javaScriptEnabled = false
html = client.getPage('http://www.msnbc.msn.com/')
println page.anchors.collect{ it.hrefAttribute }.sort().unique().join('\n')

只有一个问题。对于HtmlUnit来说,这个页面似乎有点太难理解了。当我运行代码时,每次都会得到OutOfMemoryException。我建议以正常的方式下载html,然后使用类似于NekoHtml或TagSoup的方法将html解析成XML并以这种方式处理。

这个例子使用TagSoup在Groovy:http://blog.foosion.org/2008/06/09/parse-html-the-groovy-way/中使用html作为xml。

票数 3
EN

Stack Overflow用户

发布于 2010-10-27 01:47:42

您只需要下载zip文件,解压缩jar文件,并在编译时将它们放在类路径上.你不需要消息来源

http://sourceforge.net/projects/htmlunit/files/htmlunit/2.8/htmlunit-2.8.zip/download

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4029270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档