28

我正在连接到一个网站,正在登录。

该网站将我重定向到新页面,Mechanize 处理所有 cookie 和重定向作业,但是,我无法获得最后一页。我使用了 Firebug 并再次完成了相同的工作,发现我还必须通过 Mechanize 传递两页。

我快速浏览了这些页面,发现有一些 JavaScript 和 HTML 代码但无法理解,因为它看起来不像正常的页面代码。这些页面是做什么用的?他们如何重定向到其他页面?我该怎么做才能通过这些?

4

3 回答 3

38

如果您需要使用 Javascript 处理页面,请尝试WATIRSelenium - 它们驱动真正的 Web 浏览器,因此可以处理任何 Javascript。WATIR Classic 需要安装了特定扩展的 IE 或 Firefox,您会看到页面在屏幕上闪烁。

您的另一个选择是了解违规页面上的 Javascript 的作用并手动绕过它,但这似乎很麻烦。

于 2009-04-29T13:05:13.173 回答
14

目前,Mechanize 不处理 JavaScript。有人说最终将Johnson的功能合并到 Mechanize 中,但在此之前,您有两种选择:

  1. 弄清楚 JavaScript 足以理解如何遍历这些页面。
  2. 使用Watir自动化一个能够理解 JavaScript的实际浏览
于 2009-04-29T13:11:52.503 回答
5

这些页面是做什么用的?他们如何重定向到其他页面。我该怎么做才能通过这些?

有时工作是在这些页面上完成的。有时,JavaScript 会阻止自动访问,就像您尝试做的那样:)。许多网站都有不必要的检查以确保您拥有“良好”的浏览器,因此请确保您的浏览器user_agent设置为常见的,例如 IE。有时将 设置user_agent为看起来像旧浏览器会让您在没有 JavaScript 的情况下通过。

网站自动化很有趣,因为您必须使用多种策略来超越网站及其软件开发人员。正如其他人所说,Watir 是目前超越 JavaScript 的最佳工具。

于 2009-04-29T15:48:23.533 回答