gpt4 book ai didi

java - 优秀的 Java 网页渲染库

转载 作者:行者123 更新时间:2023-11-30 04:38:23 27 4
gpt4 key购买 nike

我需要一个好的页面渲染库,以便我可以从网页中提取所有链接(包括 anchor 文本、底层超链接、链接在页面上的绝对位置)。

我一直在使用 CSSBox 库,但是,渲染的盒模型中缺少 href 属性。换句话说,我只能单独使用 CSSBox 来获取链接的 anchor 文本和位置。我必须利用 anchor 文本和另一个 html 解析库(例如 Jsoup)来获取 href 属性(即事实上的 URL)。

有没有什么库可以更好地实现我的目标?

最佳答案

推荐

考虑使用Geb :

It brings together the power of WebDriver, the elegance of jQuery content selection, the robustness of Page Object modelling and the expressiveness of the Groovy language.

It can be used for scripting, scraping and general automation — or equally as a functional/web/acceptance testing solution via integration with testing frameworks such as Spock, JUnit & TestNG.

要求

如上所述,这仅适用于您愿意使用 Groovy 的情况。 。然而,由于 Groovy 与 Java 集成起来非常容易,因此这通常不是问题。

此外,这将需要浏览器。我不确定这是否会破坏您的交易。

用法

来自docs :

You can obtain the size and location of content on the page. All units are in pixels. The size is available via the height and width properties, while the location is available as the x and y properties which represent the distance from the top left of the page (or parent frame) to the top left point of the content.

例如:

Browser.drive {
// Load the page
go "http://myapp.com"

// $("a") returns all hyperlinks on the page, similar to jQuery
$("a").each { a ->
// Display the required link properties and attributes
println """
The link to '${a.@href}' with text '${a.text()}' is at location (${a.x}, ${a.y}),
with a height of ${a.height}px and a width of ${a.width}px.
"""
}
}

关于java - 优秀的 Java 网页渲染库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12888436/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com