Lançamento do Google Chrome 38 em segundo plano usando node e socket-io

1

Eu preciso lançar o google chrome em segundo plano usando o serviço que usará o usuário do AD.

O serviço do Windows está executando o node.js e eu estou iniciando o Chrome por solicitação via Socket-io. O Chrome deve abrir a página selecionada e, quando a página estiver totalmente carregada, o soquete deverá fechá-la.

O problema é que o serviço abre o Chrome e o fecha imediatamente, e o Chrome não é capaz de carregar a página solicitada. O problema persiste apenas se eu executar o nó em segundo plano usando o serviço.

Tudo funcionou perfeitamente antes do upgrade do cromo de 37 para 38.

Também notei que, para cada instância aberta do Chrome, há uma instância do rundll32.exe (o chrome está sendo usado para flash). E as instâncias do rundll32.exe são persistentes e parecem estar travando o chrome. Eu não vejo qualquer rundll32.exe quando eu corro o nó e inicio o cromo em primeiro plano.

Alguém tem alguma ideia do que pode estar errado?

UPDATE

Eu lancei o chrome com --enable-logging --v=1 e vi esses erros. Não sei o que fazer com eles embora.

[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

UPDATE

Problema aberto com o Chronium:

link

    
por rinchik 22.10.2014 / 22:45

1 resposta

1

Tivemos exatamente o mesmo problema com configurações ligeiramente diferentes. Temos um agente do TeamCity em um servidor, executando o transferidor em node.js, que abre o Chrome em segundo plano com o WebDriver. Isso parou de funcionar há alguns dias e, após algumas pesquisas, chegamos a um arquivo de log semelhante ao seu. Eu diria, há de fato um problema com o Chrome 38 para rodar em segundo plano. Quando o transferidor é iniciado a partir do console, tudo funciona corretamente.

Uma solução para nós foi fazer o downgrade do Chrome para 37 e desativar as atualizações automáticas. Não é tão simples, já que o Google não publica versões mais antigas. Você pode pesquisar por "Download do Chrome 37" ou ver em outro computador. O Chrome preserva os instaladores em: C:\Program Files (x86)\Google\Chrome\Application.0.2062.124\Installer . Basta prestar atenção é que deve ter mais de ~ 20MB por estar offline e não online.

    
por 27.10.2014 / 10:04