Gem Ruby mechanize 模拟网页填表登陆的问题

donychen · 2015年06月26日 · 最后由 donychen 回复于 2015年06月29日 · 2721 次阅读

大家好!

我在今天使用 ruby mechanize 框架进行网页填表,模拟登陆的过程中发现一个问题。

首先,描述一下我要填表并登陆的网页。 若干 text 框需要填写,若干 checkbox 框需要选择。 还有几个 checkbox,选择后,网页会 post,然后才会生成后面的 post 选项。类似我们填简历时候,选择某地区,后面才会出现该地区的学校,再会出现该学校的专业一样。

我在 ruby 脚本里面填了所有的需要填的东西,和我手动在网页上面填的一模一样。

然后模拟点击添加按钮,依旧在本页面。但是手动就会添加成功。

手动添加时候,也会出现点击添加留在本页面的问题,但是那是因为需要填写的框没有填够,并且在网页头部会给出错误原因。

网页模拟时候,我把整个页面下载下来,没发现有错误提示。

很困惑这是因为什么。

不知道有没有懂的大神,求请教。非常感谢。

贴代码,贴网址啊

#1 楼 @chaucerling 内网的网址,外面登陆不了,不然我就粘了

先来个 ruby-china 的,成功了再说。 不然这样怎么玩?

#3 楼 @flowerwrong 试过 ruby china,是成功的。请问可能是什么情况呢?

JavaScript

post request 之后没返回结果?

#7 楼 @mouse_lin 对,感觉像没 post 成功一样,还在原来的页面,就像点选了 checkbox 引起后面的 checkbox 更新了似的。没有提交。

#8 楼 @donychen 可能是通过 ajax 方式提交登录表单的,这个就是 @rei 说的 javascript 问题,最简单的验证方法是先禁用浏览器 javascript,然后看看是否还能正确提交表单。

#9 楼 @martin91 果然,我看到网页链接结尾是 .jsp。网上只找到了这个http://www.huomo.cn/developer/article-9bba.html 。但是网页换一下格式就不是很会了,也没找到其他方面的资料。我还是先去学一下 javascript 吧,非常感谢。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号