如何自动化HTTP请求以单击按钮并自动检出shopify网站

时间:2018-03-04 20:11:08

标签: javascript http request shopify

好吧基本上, 我可以像这样发布到这个网站http://elementalknives.com

http://elementalknives.com/cart/21977860165:1?
checkout[email]=x@outlook.com
&checkout[shipping_address][first_name]=XXX
&checkout[shipping_address][last_name]=XXX
&checkout[shipping_address][address1]=XXXXX
&checkout[shipping_address][city]=England
&checkout[shipping_address][province]=Arizona
&checkout[shipping_address][zip]=85001
&checkout[shipping_address][phone]=07129151286
&checkout[shipping_address][country]=United States

当我转到此链接时,我需要填写的所有文本框都已满,下一步将是点击'继续发送方法',我想知道我将如何模拟点击按钮'继续发货方式',我知道它发布到同一网址上     ?previous_step = contact_information&安培;步骤= SHIPPING_METHOD

,但我上面发布的数据已经不会存储,例如所有文本框,所以当我这样发布时

http://elementalknives.com/cart/21977860165:1?
checkout[email]=x@outlook.com
&checkout[shipping_address][first_name]=XXX
&checkout[shipping_address][last_name]=XXX
&checkout[shipping_address][address1]=XXXXX
&checkout[shipping_address][city]=England
&checkout[shipping_address][province]=Arizona
&checkout[shipping_address][zip]=85001
&checkout[shipping_address][phone]=07129151286
&checkout[shipping_address][country]=United States
&previous_step=contact_information
&step=shipping_method

它说'请输入您的送货信息。'

我认为这是因为它没有保存文本框值?

如何保存这些值并提交,以便我转到下一页?

如果我转到原始的POSTED网址,然后点击“继续”按钮,我会转到下一步,所以我不确定如何执行此操作。

这是我的代码看起来像

var request = require('request');
var fs = require('fs');

var formData = { 
                'checkout[email]': 'X@outlook.com',
                'checkout[shipping_address][first_name]': 'XXX',
                'checkout[shipping_address][last_name]': 'XXX',
                'checkout[shipping_address][company]': '',
                'checkout[shipping_address][address1]': 'XXX Road',
                'checkout[shipping_address][address2]': '',
                'checkout[shipping_address][city]': 'XXX',
                'checkout[shipping_address][country]': 'United States',
                'checkout[shipping_address][province]': 'Arizona',
                'checkout[shipping_address][zip]': '85001',
                'checkout[shipping_address][phone]': '07129151286',
                'previous_step': 'contact_information',
                'step': 'shipping_method'
               };

request({
    headers: { 'user-agent': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1' }, url: 'http://elementalknives.com/cart/21977860165:1', form: formData, method: 'GET' },
    function (err, res, body) {
        fs.writeFile("temp.html", body, function(err) {
            if(err) {
                return console.log(err);
            }
        }); 
    }
); 

我目前保存文件以查看它是否成功将我带到了下一阶段,但它始终没有成功发布,并认为我没有输入发货方式,当我发布相同的时候。我看了一下cookies,从contact_information步骤到shipping_method没有区别,所以我很困惑

0 个答案:

没有答案