#scheduled-tasks #google-chrome-headless
#запланированные задачи #google-chrome-безголовый
Вопрос:
У нас есть .NET-программа для запуска безголового Chrome для создания моментального снимка веб-страницы в виде изображения, и вот пример кода:
class Program
{
static void Main(string[] args)
{
var p = Process.Start(
@"C:Program Files (x86)GoogleChromeApplicationchrome.exe",
$@"--headless --screenshot=E:test{DateTime.Now:HHmmss}.png --disable-gpu --window-size=320,568 http://www.microsoft.com");
p.WaitForExit();
}
}
Консольное приложение запланировано в планировщике задач Windows с опцией «Запускать независимо от того, вошел пользователь в систему или нет». Программа работает нормально в течение нескольких месяцев, но вчера произошел сбой, мы заметили, что версия Chrome теперь 73. К счастью, мы нашли компьютер, на котором Chrome по-прежнему 72, поэтому мы протестировали фоновую запланированную задачу один раз, обновили Chrome до 73 и протестировали его снова, наконец получили вывод — Безголовый Chrome 72 может работать в фоновом режиме, но Chrome 73 не может.
Кто-нибудь обнаружил ту же проблему в Chrome 73?
[обновлено 6/23 2019]
Это ошибка Chromium (ошибка 942023), которая была исправлена в Chrome 74.0.3729.108.
Для Chrome 73 вы можете использовать --disable-features=VizDisplayCompositor
аргумент в качестве обходного пути.
Ответ №1:
Да, здесь у нас такая же проблема. Мы запускаем Chrome через Selenium WebDriver, и после обновления до Chrome 73 наши фоновые задачи больше не работают корректно. Понижение версии до Chrome 72 устраняет проблему.
Наши журналы диагностики показывают, что при запуске Chrome 73 в безголовом режиме некоторые вызовы процесса Chrome, похоже, зависают. Например, изменение размера браузера или попытка сделать снимок экрана через WebDriver API. Мы попробовали несколько способов исправить это, включая обновление Selenium, WebDriver и chromedriver до последних версий, но у всех было одинаковое поведение.
Похоже, что после обновления возникла проблема с запуском Chrome 73 в безголовом режиме.
Комментарии:
1. Спасибо за подтверждение этой проблемы.