Как я могу обмениваться данными между nodejs и кукловодом? - PullRequest
0 голосов
/ 01 июля 2019

Я сделал приложение nodejs, которое запускается из index.js. Затем index.js запускает puppeteer и внедряет bot.js на страницу api без заголовка с помощью функции addcripttag.

Я сделал index.js, который устанавливает cookie для передачи начальных значений перед внедрением javascript, но мне нужен более распространенный способ обмена данными.

Я думал два пути; первая использует cookie, а вторая - сетевое соединение через сокет.

Есть ли другой способ отправки и получения данных между index.js (узел) и кукловод (хром без головы)?

1 Ответ

0 голосов
/ 01 июля 2019

Во-первых, кукловод является сторонним приложением nodejs, поэтому у них единое окружение, и вам не нужно ничего «отправлять».Просто передайте данные, как в любом другом коде JS.Я предполагаю, что вы хотите передать данные между страницей и nodejs.

Для передачи данных из nodejs на страницу используйте page.evaluate .Вы можете вызывать любой код в контексте страницы, начиная от простой установки некоторых переменных до прямого вызова любых функций с необходимыми аргументами.

Чтобы инициировать передачу со стороны страницы на nodejs, сначала зарегистрируйте функцию обратного вызова на стороне nodejs с помощью page.exposeFunction , а затем вызовите его из кода страницы, и он будет выполнен в контексте nodejs.Как и в предыдущем случае, все остальное зависит от кода этой функции.Это может быть так же просто, как сохранить любой аргумент, который вы передаете ему, в некоторой переменной или напрямую выполнить с данными почти все, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...