【问题标题】:Parse javascript generated content using Java使用 Java 解析 javascript 生成的内容
【发布时间】:2026-02-16 03:55:02
【问题描述】:

http://support.xbox.com/en-us/contact-us 使用 javascript 创建一些列表。我希望能够解析这些列表的文本。所以对于上面的页面,我想返回以下内容:

Billing and Subscriptions
Xbox 360
Xbox LIVE
Kinect
Apps
Games

我曾尝试使用 JSoup 一段时间,然后才注意到它是使用 javascript 生成的。我不知道如何解析页面以获取其 javascript 生成的内容。

我从哪里开始?

【问题讨论】:

    标签: java javascript parsing


    【解决方案1】:

    您需要使用 HTML+JavaScript 库,例如 Cobra。它会解析 HTML 中的 DOM 元素并应用由 JavaScript 引起的任何 DOM 更改。

    【讨论】:

      【解决方案2】:

      您始终可以导入整个页面,然后在页面上执行字符串分隔符(使用 return 等)并查找包含信息的字符串,然后返回您想要的字符串并从该字符串中提取部分。这是一种肮脏的做法,不知道是否有一种干净的做法。

      【讨论】:

        【解决方案3】:

        我不认为文本是由 javascript 生成的...如果我禁用 javascript,可以在这个位置的 html 中找到这些选项(一个 jquery 选择器,因为它比找出 xpath 更容易手写没有启用 javascript :))

        'div#ShellNavigationBar ul.NavigationElements li ul li a'
        

        无论直接回答您的查询,您都必须在文档范围内评估 javascript,我预计这在 Java 中会相当复杂。您会更幸运地识别生成相关内容并直接解析的 javascript 文件。

        【讨论】: