casperjs - 填写表格/邮寄表格 - 通过验证码解决死亡问题

时间:2016-04-12 21:02:35

标签: javascript post casperjs

拥有我想要填充的简单Webform,而不是从结果页面获取文本。

<html><head></head><body><table><tr><td>
<form method="post" action="http://api.dbcapi.me/decaptcher"
      enctype="multipart/form-data">
    <input type="hidden" name="function"     value="picture2">
    <input type="text"   name="username"     value="">
    <input type="text"   name="password"     value="">
    <input type="file"   name="pict">
    <input type="text"   name="pict_to"      value="0">
    <input type="text"   name="pict_type"    value="0">
    <input type="text"   name="print_format" value="html">
    <input type="submit" value="Send">
</form>
        </td></tr></table></body></html>

只想将3个值发布到表单中。我尝试了以下示例:

casper.start('http://api.dbcapi.me/decaptcher?function=picture2&print_format=html', function() {
    this.fillSelectors('#html>body>table>tbody>tr>td>form', {
        'input[name="username"]':    'loginname',
        'input[name="password"]':    'password',
        'input[name="pict"]':   'folder/file.jpeg'
    }, true);
});

或:

casper.open('http://api.dbcapi.me/decaptcher?function=picture2&print_format=html', {
    method: 'post',
    data:   {
        'username': 'loginname',
        'password':  'passwortd',
        'pict':  'folder/file.jpeg'
    },
     headers: {
        'Content-type': 'multipart/form-data'
    }
});

casper.start('http://api.dbcapi.me/api/captcha', function() {
    this.fill('form', {
        'username':    'loginname',
        'password':    'passwort',
        'captchafile':   'folder/file.jpeg',
    }, true);
});

它们都不正确: - (

0 个答案:

没有答案