0

我正在尝试使用 Mechanize 登录和抓取网站。

出于某种原因,我似乎无法让登录功能正常工作。有任何想法吗?

这是我的代码:

require 'nokogiri'
require 'open-uri'
require 'mechanize'

a = Mechanize.new
a.get('https://jackthreads.com/')

form = a.page.form_with(:class => 'jt-form')
form.field_with(:name => "email").value = "email"
form.field_with(:name => "password21").value = "password"
page = a.submit(form, form.buttons.first)
4

1 回答 1

3

表单上的操作设置为“ #”,因此您的提交将被忽略。POST 调用实际上是https://www.jackthreads.com/login?method=ajax通过 AJAX 进行的。也许如果您在提交之前使用 Mechanize 更新表单的 action 属性,它就可以解决问题。

对于它的价值,我用 Chrome Web Inspector 解决了这个问题。看到值设置为“ #”后,我转到网络选项卡,通过 XHR 过滤,然后尝试提交一些东西。

于 2013-01-30T21:55:53.433 回答