По крону нужно обновлять информацию которая парсится со стороннего сайта
Скрипт на PHP запускает JS с
use Symfony\Component\Process\Process;
$process = new Process(['node', $file, '--container=' . $container]);
try {
$process->mustRun();
$response = $process->getOutput();
dump(json_decode($response));
} catch (ProcessFailedException $e) {
dump('error', $e->getMessage());
}
Мне нужно получить json который возвращается с сайта
делаю функцию
let result;
(async () => {
try {
const browser = await puppeteer.launch({
headless: false,
devtools: true
});
const page = await browser.newPage();
const response = await page.goto(url, {waitUntil: ['load', 'domcontentloaded', 'networkidle0', 'networkidle2']});
const acceptCookies = await Promise.all([
page.waitForSelector('button.coi-banner__accept'),
page.click('button.coi-banner__accept'),
]);
await page.type('#trackShipmentSearch', containerNumber);
await page.keyboard.press(String.fromCharCode(13));
// теперь включаем перехват запросов
await page.setRequestInterception(true);
await page.on('response', async (response) => {
if (response.url().includes("https://api.maerskline.com/track/")) {
result = await response.json();
console.log(result) // JSON RESULT OK
// здесь перехватил результат, ВСЕ ОК
await page.evaluate(() => window.stop())
}
});
await console.log(result)// ЗДЕСЬ всегда undefined
await browser.close()
} catch (err) {
console.log(err)
}
})();
Как мне можно вернуть json в вызывающий PHP скрипт?