Я пытаюсь использовать сценарий js для запуска кукольника для вызова моего веб-сервера Springframework. Веб-сервер очень прост, он возвращает простую форму тимелеафа и регистрирует информацию заголовка, поступившую по запросу. В первый раз, когда я выполняю сценарий, пользовательский агент, как я и ожидал, указывает, что запрос пришел от Headless Chrome. Если я снова выполню сценарий в течение 15 секунд после последнего запуска, полученный пользовательский агент будет «Mozilla / 4.0 (совместимый;)» вместо строки агента по умолчанию Headless Chrome. Если сценарий запускается через 15+ секунд после последнего выполнения, тогда строка агента снова будет Headless Chrome default. Я объяснил проблему с точки зрения пользовательского агента, так как это легче всего определить, но похоже, что все поля в заголовке неверны, когда сценарий выполняется быстро. Есть ли что-то с node.js или кукловодом, что могло бы объяснить такое поведение?
Я выполняю сценарий из командной строки (> node test. js)
Я должен отметить, что Я не вижу такого поведения при использовании Chrome для прямого вызова моего веб-сервера. Каждый раз я получаю стандартный заголовок Chrome.
Для выполнения я использую следующий сценарий:
'use strict'
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch({ args: [ '--no-sandbox', '--disable-setuid-sandbox' ]});
const page = await browser.newPage();
await page.goto('http://localhost:8080/v1/test');
await browser.close();
})();