【发布时间】:2012-12-28 10:41:02
【问题描述】:
我正在尝试使用 DOM 解析器和 jsoup 库来解析 HTML 页面。 我面临的问题是:
在网站上有两个按钮,显示两个不同的表格。 我需要解析单击第二个按钮时显示的表格。 点击第二个按钮后设置了不同的属性值。
当我做Jsoup.connect("example.com")
我得到响应,就像选择了第一个按钮一样,我不需要该数据。
有没有办法点击第二个按钮,然后开始从网站解析和检索数据?
【问题讨论】:
我正在尝试使用 DOM 解析器和 jsoup 库来解析 HTML 页面。 我面临的问题是:
在网站上有两个按钮,显示两个不同的表格。 我需要解析单击第二个按钮时显示的表格。 点击第二个按钮后设置了不同的属性值。
当我做Jsoup.connect("example.com")
我得到响应,就像选择了第一个按钮一样,我不需要该数据。
有没有办法点击第二个按钮,然后开始从网站解析和检索数据?
【问题讨论】:
Jsoup 只是一个解析器,即它不能处理诸如点击按钮之类的事件。看看浏览器自动化工具(例如Selenium)来执行这种工作。
【讨论】:
JSoup 无法控制网页,只能解析内容。对于操作和交互,有一些工具。我推荐Geb,它使用Groovy DSL 和类似JQuery 的语法,使其非常流畅。用它解析 xml/html 也很容易。
【讨论】:
JSoup 是一个 HTML 解析器,而不是浏览器的替代品。看看Html Unit
HtmlUnit 是“Java 程序的无 GUI 浏览器”。它对 HTML 文档进行建模并提供一个 API,允许您调用页面、填写表单、单击链接等……就像您在“普通”浏览器中所做的一样。
【讨论】: