1

Мне нужно запустить Google Chrome в фоновом режиме, используя службу, которая будет использовать пользователя AD.

Служба Windows работает на node.js, и я запускаю Chrome по запросу через Socket-io. Chrome должен открыть выбранную страницу, и как только страница полностью загрузится, сокет должен закрыть ее.

Проблема в том, что сервис открывает Chrome и сразу же закрывает его, а Chrome даже не может загрузить запрашиваемую страницу. Проблема сохраняется, только если я запускаю узел в фоновом режиме, используя сервис.

Все работало отлично до обновления хрома с 37 до 38.

Я также заметил, что для каждого открытого экземпляра Chrome есть один экземпляр rundll32.exe (Chrome использует его для прошивки). И экземпляры rundll32.exe являются постоянными и выглядят как сбой Chrome. я не вижу никакой rundll32.exe, когда я запускаю узел и запускаю Chrome на переднем плане.

У кого-нибудь есть идеи, что может быть не так?

ОБНОВИТЬ

Я запустил Chrome с --enable-logging --v=1 и увидел эти ошибки. Не уверен, что с ними делать, хотя.

[1844:1872:1023/153655:ERROR:gpu_process_transport_factory.cc(418)] Failed to establish GPU channel.
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:1872:1023/153655:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:3408:1023/153656:VERBOSE1:ssl_client_socket_nss.cc(3477)] CT Verification complete: result -158 Invalid scts: 0 Verified scts: 0 scts from unknown logs: 0
[1844:3408:1023/153656:ERROR:child_process_launcher.cc(344)] Failed to launch child process
[1844:3408:1023/153701:VERBOSE1:bandwidth_metrics.h(95)] Bandwidth: 294975Kbps (avg 294975Kbps)
[1844:3408:1023/153723:VERBOSE1:ssl_client_socket_nss.cc(3477)] CT Verification complete: result -158 Invalid scts: 0 Verified scts: 0 scts from unknown logs: 0

ОБНОВИТЬ

Открытая проблема с Chronium:

https://code.google.com/p/chromium/issues/detail?id=426858&thanks=426858&ts=1414158389

1 ответ1

1

У нас была точно такая же проблема с немного другой настройкой. У нас есть агент TeamCity на сервере, который выполняет транспортир над node.js, который открывает Chrome в фоновом режиме с помощью WebDriver. Это перестало работать пару дней назад, и после некоторых исследований мы пришли к тем же файлам журналов, что и у вас. Я бы предположил, что действительно есть проблема с Chrome 38 для работы в фоновом режиме. Когда транспортир запускается из консоли, все работает правильно.

Решением для нас было понизить Chrome до 37 и отключить автоматические обновления. Это не так просто, так как Google не публикует более старые версии. Вы можете выполнить поиск "Загрузка Chrome 37" или посмотреть на одном из других компьютеров. Chrome сохраняет установщики по адресу: C:\Program Files (x86)\Google\Chrome\Application\37.0.2062.124\Installer . Просто обратите внимание, это должно быть больше, чем ~ 20 МБ для того, чтобы быть в автономном режиме, а не онлайн.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .