1

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

Billing and Subscriptions
Xbox 360
Xbox LIVE
Kinect
Apps
Games

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

我从哪里开始?

4

3 回答 3

1

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

于 2012-07-02T17:24:57.520 回答
1

您需要使用像Cobra这样的 HTML+JavaScript 库。它将解析 HTML 中的 DOM 元素并应用由 JavaScript 引起的任何 DOM 更改。

于 2012-07-02T17:26:40.497 回答
0

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

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

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

于 2012-07-02T17:32:56.387 回答