No OS X, você pode usar o AppleScript para executar JavaScript no Chrome:
xj(){ osascript -e'on run{a}' -e'tell app"google chrome"to tell active tab of window 1 to execute javascript a' -eend "$1"; }
O Firefox não suporta o AppleScript.
Estou usando um navegador da Web chromium ou firefox no modo quiosque para fazer login em um site a partir da inicialização e desejo usar um javascript para enviar um comando para acessar um site automaticamente. Eu sei como escrever o javascript, mas eu não sei como "canalizar" o javascript para o navegador da web a partir de um arquivo bash terminal. Além disso, estou trabalhando no Linux.
No OS X, você pode usar o AppleScript para executar JavaScript no Chrome:
xj(){ osascript -e'on run{a}' -e'tell app"google chrome"to tell active tab of window 1 to execute javascript a' -eend "$1"; }
O Firefox não suporta o AppleScript.
Não tenho certeza se o Firefox é capaz de fazer o que você quer aqui, mesmo que haja muitas opções de linha de comando para iniciar o Firefox a partir de um script.
O Chrome tem ainda mais opções e pode ser capaz de executar javascript a partir de uma fonte local mas duvido.
Se você pudesse de alguma forma passar o javascript pelo console do desenvolvedor, você poderia definitivamente executar código arbitrário em uma sessão do navegador da web (por exemplo, um login automatizado ou não).
Como é possível especificar um URL inicial a partir de um script para ambos os navegadores, talvez o seguinte funcione 1 :
POST
do formulário de login, etc.). Inicie o Firefox e aponte para este arquivo:
./firefox -url "file:///home/thisUser/desktop/foo.html"
Não tenho certeza se o esquema de URL file:///
funcionará em todas as situações, mas testei-o no OSX.
Isso deve carregar o arquivo e tentar renderizar o conteúdo. A coisa file:///
é apenas uma maneira de não ter que rodar um servidor web em localhost, mas isso pode funcionar também.
Você pode ter problemas de XSS ou outros obstáculos para fazer um login remoto, então você pode ter que reverter para um script do lado do servidor e apenas apontar o navegador em um servidor localhost
web.
Boa sorte!
1 Eu não testei tudo isso apenas lançando uma ideia.