我如何使用Mechanize来处理JavaScript?

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

该网站将我redirect到新页面,并且Mechanize处理所有Cookie和redirect作业,但是我无法获取最后一页。 我用Firebug,再次做了同样的工作,看到有两个页面,我不得不通过机械化。

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

如果您需要使用Javascript处理页面,请尝试WATIR或Selenium – 这些驱动器是一个真正的Web浏览器,因此可以处理任何Javascript。 WATIR Classic需要安装有特定扩展程序的IE或Firefox,并且在工作时您将看到屏幕上的页面闪烁。

您的其他选项是理解有问题的页面上的Javascript是什么,并绕过它手动,但这似乎很繁重。

目前,Mechanize不处理JavaScript。 谈论最终将约翰逊的能力并入机械化,但在这之前,你有两个select:

  1. 充分了解JavaScript以了解如何遍历这些页面。
  2. 自动化使用Watir理解JavaScript的实际浏览器。

这些页面是什么? 他们如何redirect到其他页面。 我该怎么做才能通过这些?

有时工作是在这些页面上完成的。 有时JavaScript会阻止自动访问,比如你正在做的事情:)。 许多网站有不必要的检查,以确保您有一个“好”的浏览器,所以请确保您的user_agent设置为一些常见的,如IE。 有时将user_agent设置为旧式浏览器会让您在没有JavaScript的情况下过去。

网站自动化是有趣的,因为你必须用多种策略来胜过网站和软件开发者。 就像其他人所说的那样,Watir是目前获得JavaScript的最佳工具。