WWW :: Mechanize输入不属于表单的输入

时间:2015-01-22 04:08:20

标签: perl www-mechanize

我正在处理网络抓取项目,但我无法定位不属于表单的输入。像这样:

<div>
    Book name: <input type="text" name="book" /><br />
    Student: <input type="text" name="student" /><br />
    <input type="button" id="btnSubmit" value="Submit" />
</div>

Ajax电话:

$("#btnSubmit").on('click', function() {
    type: "POST",
    url: "borrow.php",
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify({
            book: $("input[name='book']").val(),
            student: $("input[name='student']").val()
          }),
    dataType: "json",
    success: function (result) { ...  }
});

我只是想知道我是否可以使用Mechanize来输入数据并提交所谓的表格。

我尝试使用post()直接POST数据,但success()函数处理的指令太多,所以我想点击提交按钮。

1 个答案:

答案 0 :(得分:0)

我今天通过以下方式解决了这个问题:

my $m = WWW::Mechanize->new();

# Or however else you get your form data to submit
my $field1 = shift($m->find_all_inputs(name => 'field1'))->value;
my $field2 = shift($m->find_all_inputs(name => 'field2'))->value;

$m->post('http://somesite.com/expectsPost.cgi',
{ field1 => $field1,
  field2 => $field2,
  action => 'DoSomethingCool' });

my $result = $m->content;

希望这有帮助!