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