Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Mechanize处理JavaScript?_Javascript_Html_Ruby_Mechanize - Fatal编程技术网

如何使用Mechanize处理JavaScript?

如何使用Mechanize处理JavaScript?,javascript,html,ruby,mechanize,Javascript,Html,Ruby,Mechanize,我正在连接到一个网站,正在登录 该网站将我重定向到新页面,并对所有cookie和重定向作业进行机械化处理,但我无法获取最后一页。我使用了Firebug,再次做了同样的工作,发现还有两页我必须通过Mechanize 我快速浏览了一下页面,发现有一些JavaScript和HTML代码,但无法理解,因为它看起来不像普通的页面代码。那几页是干什么用的?他们如何重定向到其他页面?我应该怎么做才能传递这些信息呢?如果您需要使用Javascript处理页面,请尝试或-这些驱动真正的web浏览器,从而可以处理任

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

该网站将我重定向到新页面,并对所有cookie和重定向作业进行机械化处理,但我无法获取最后一页。我使用了Firebug,再次做了同样的工作,发现还有两页我必须通过Mechanize


我快速浏览了一下页面,发现有一些JavaScript和HTML代码,但无法理解,因为它看起来不像普通的页面代码。那几页是干什么用的?他们如何重定向到其他页面?我应该怎么做才能传递这些信息呢?

如果您需要使用Javascript处理页面,请尝试或-这些驱动真正的web浏览器,从而可以处理任何Javascript。WATIR Classic需要安装特定扩展的IE或Firefox,当它工作时,你会看到页面在屏幕上闪烁


您的另一个选择是理解有问题页面上的Javascript的作用并手动绕过它,但这似乎很繁重。

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

  • 充分理解JavaScript,了解如何遍历这些页面
  • 自动化一个真正的浏览器,使用它来理解JavaScript
  • 那几页是干什么用的?如何重定向到其他页面。我该怎么做才能通过这些考试

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


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

    为什么不将JavaScript放在一个粘贴站点中,如图所示,并在此处发布链接?谢谢大家。瓦蒂尔做了我想做的:)它看起来很棒,让我更喜欢ruby:)第一次,我试图得到的网站因为用户代理而生我的气,但当我将它设置为firefox时,问题就消失了。堆积如山的岩石!我喜欢这里:)@millimoose你能在WATIR中执行脚本时隐藏浏览器吗?哇,线程巫术。我再也不知道了,我敢打赌“不”——无论如何,这是一个与OP问的问题不同的问题,所以你可以单独问,这样其他人就有机会回答。我也会考虑查看幻像,那是一个无头(即“无UI”)WebKIT自动化工具。它工作得很好,但上次我想用它做点什么,异步API让我做我需要的事情太复杂了,所以我最终选择了Selenium。有替代品吗?