Как сериализовать данные формы iframe с помощью Apify - PullRequest
1 голос
/ 23 сентября 2019

Хорошо, я пытаюсь сериализовать данные формы, но получаю неопределенное. Вот код:

 const frame = page.frames().find(frame => frame.url().includes('reservation'));
const aHandle = await frame.evaluateHandle('document'); 
const form= await aHandle.$eval('#reservationData', element => element.outerHTML);
var theform = await serialize(form);
console.log(theform);

1 Ответ

1 голос
/ 23 сентября 2019

Я не знаю, как выглядит функция сериализации.Можете ли вы предоставить код этой функции?

Но вы можете легко сделать это с помощью frame.$eval(selector, pageFunction[, ...args]) и jQuery.

const Apify = require('apify');

...

await Apify.utils.puppeteer.injectJQuery(page);
const frame = page.frames().find(frame => frame.url().includes('reservation'));
const theForm = frame.$eval('#reservationData', (form) => $(form).serialize())
console.log(theform);
...