Post-запрос с помощью Phantomjs

#javascript #node.js #phantomjs

#javascript #node.js #phantomjs

Вопрос:

Я использую следующее Node.js модуль https://www.npmjs.com/package/phantom

Проблема в том, что я не знаю, как сделать post-запрос для входа в систему (или, по крайней мере, мне нужно заполнить форму входа и нажать кнопку).

Как я могу это сделать? Если это невозможно, есть ли какие-либо Node.js модуль, который можно использовать для выполнения запроса post или нажатия кнопки на странице

Комментарии:

1. Вам нужно будет начать программировать. Разбейте его на небольшие задачи и погуглите каждую из них, если вы не можете решить их самостоятельно. Переполнение стека не является сервисом для написания кода.

2. Я искал в Google несколько дней. Пожалуйста, не комментируйте, если вы ничего не знаете

Ответ №1:

Вам не нужен какой-либо пакет узла.

 "use strict";
var page = require('webpage').create(),
    server = 'http://posttestserver.com/post.php?dump',
    data = 'universe=expandingamp;answer=42';

page.open(server, 'post', data, function (status) {
    if (status !== 'success') {
        console.log('Unable to post!');
    } else {
        console.log(page.content);
    }
    phantom.exit();
});
 

Источник: Здесь

Комментарии:

1. Я уже пробовал это раньше. Во-первых, я получил Error: Cannot find module 'webpage' . Затем, после установки веб-страницы npm install webpage , я получил TypeError: require(...).create is not a function

2. @NoName не запускайте это в node.js , запустите его с помощью PhantomJS напрямую

3. @NoName, Вавилофф прав. Вы должны запустить PhantomJS напрямую.

Ответ №2:

Во-первых, вы должны загрузить PhantomJS отсюда. Установите его, а затем переместите исполняемый файл из bin папки в папку PATH вашего файла. Наконец, откройте новый файл, вставьте этот код и запустите из командной строки: phantomjs [name of your file] .