Veja o link . MozRepl permite conectar via telnet, em combinação com o netcat, isso seria exatamente o que você precisa.
Usando a linha de comando do Linux (Bash shell) eu gosto de carregar um site específico no meu navegador (normalmente o Firefox, mas outro seria ok, bem como longo é executado no Linux) e preencher um formulário pré-definido com alguns dados. Na verdade, isso deve ser executado em um Makefile. A maioria dos dados do formulário é estática e será armazenada como variáveis no Makefile, apenas alguns campos devem ser preenchidos manualmente antes de enviar manualmente o formulário.
Eu sei como carregar o site em questão na linha de comando usando:
firefox <URL>
Mas parece não haver possibilidade de preencher o formulário automaticamente com as variáveis fornecidas na linha de comando. Existe um plugin, executável ou JavaScript que me permite fazer isso? Todas as sugestões e sugestões são bem vindas. Eu não me importo de codificar algum JavaScript.
Veja o link . MozRepl permite conectar via telnet, em combinação com o netcat, isso seria exatamente o que você precisa.
Eu resolvi isso agora usando um script Greasemonkey que copia os parâmetros de URL para o formulário.
O Makefile chama firefox
com o URL incluindo os parâmetros.
Isso funciona para minhas necessidades. Alguns refinamentos seriam necessários para uma entrada mais complexa, ou seja, alguma codificação de URL.
Script de usuário:
// ==UserScript==
// @name Fill CTAN upload form
// @namespace http://www.scharrer-online.de/namespace/
// @description Fills the CTAN upload form with the data provided as URL variables
// @include http://*.ctan.org/upload.html*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// ==/UserScript==
//var $ = unsafeWindow.jQuery;
// From http://papermashup.com/read-url-get-variables-withjavascript/
// Added: decodeURI
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = decodeURI(value);
});
return vars;
}
var vars = getUrlVars();
for (name in vars) {
$("input[name=" + name + "]").val(vars[name]);
$("select[name=" + name + "]").find("option:selected").removeAttr('selected');
$("select[name=" + name + "]").find("option[value=" + vars[name] + "]")
.attr('selected','selected');
}
if ('DoNotAnnounce' in vars) {
var val = vars['DoNotAnnounce'].toLowerCase();
if (val == '1' || val == 'yes' || val == 'true') {
$("input[name=DoNotAnnounce]").attr('checked','checked');
}
}
Makefile:
# CTAN Upload
CTAN=http://dante.ctan.org/upload.html
CONTRIBUTION=filemod
VERSION=
NAME=John Doe
[email protected]
SUMMARY=Updated to ${VERSION}:
DIRECTORY=/macros/latex/contrib/${CONTRIBUTION}
DONOTANNOUNCE=
ANNOUNCEMENT=
NOTES=
LICENCE=free
FREEVERSION=lppl
#FILE= # can't be set because of security limitations
upload: ctanify
firefox 'http://dante.ctan.org/upload.html?contribution=${CONTRIBUTION}&version=${VERSION}&name=${NAME}&email=${EMAIL}&summary=${SUMMARY}&directory=${DIRECTORY}&DoNotAnnounce=${DONOTANNOUNCE}&announce=${ANNOUNCEMENT}¬es=${NOTES}&license=${LICENCE}&freeversion=${FREEVERSION}' &
Tags automation shell webforms