Eu não conheço o Virgin SuperHub, mas tenho bastante experiência com o WWW :: Mechanize do perl.
A primeira coisa que gostaria de fazer é verificar a saída de $mech->dump_forms()
. dump_forms
despeja informações em todas as formas WWW :: Mechanize find to STDOUT. Isso é algo que você provavelmente não deixaria entrar no código final, mas é uma ótima ajuda de depuração.
Em vez de adicioná-lo ao código-fonte do seu script, você também pode usar o depurador perl:
-
Inicie o depurador perl com
perl -d /home/ricky/Downloads/Ubuntu/Scripts/SuperHubReboot.pl
-
Insira
c 11
para executar o script até antes de executar a linha 11 -
Em seguida, insira
$mech->dump_forms
(você poderia inserir qualquer instrução perl no depurador perl para executá-la no contexto da linha atual) -
Verifique a saída de
dump_forms
: A interface web do Virgin SuperHub realmente usa o atributo 'nome' na página de login, mas um atributo 'id' depois?
Você também pode usar $mech->form_number($n)
para selecionar o formulário apropriado (cuidado: a numeração de formulários em WWW :: Mechanize começa em 1!).