Заполнение HTML-формы с сервера Node.js

Я хочу заполнить поля ввода HTML-формы, отправить и получить тело страницы. Я нашел модуль под названием form-scraper, но мой код выдает эту ошибку:

Невозможно прочитать свойство get неопределенного в Function.get (/Users/.../node_modules/promisified-request/promisified-request.js:21:69)

var pRequest = require("promisified-request").create();
var fScraper = require("form-scraper");

var formStructure = fScraper.fetchForm("#mc-embedded-subscribe-form", "http://cats.com/", pRequest);

var loginDetails = {"EMAIL": "[email protected]"};

fScraper.submitForm(loginDetails, fScraper.provideForm(formStructure), pRequest).then(function(response) {
    console.log(response.body);
});

Любая помощь или предложения о том, как это сделать, оцениваются по-разному!


person Gogo    schedule 29.04.2018    source источник


Ответы (1)


Я знаю, что приведенный вами код такой же, как в примере здесь. Но пример немного некорректен. Вам нужно будет передать request методу create.

Попробуй это:

var request = require("request")
var pRequest = require("promisified-request").create(request);
var fScraper = require("form-scraper");

var formStructure = fScraper.fetchForm("#mc-embedded-subscribe-form", "http://cats.com/", pRequest);

var loginDetails = {"EMAIL": "[email protected]"};

fScraper.submitForm(loginDetails, fScraper.provideForm(formStructure), pRequest).then(function(response) {
    console.log(response.body);
});

И вам не нужно устанавливать пакет "request", поскольку он уже является зависимостью и, следовательно, уже установлен.

person Devansh J    schedule 29.04.2018