Ich kenne den Virgin SuperHub nicht, aber ich habe ziemlich viel Erfahrung mit WWW :: Mechanize von Perl.
Als erstes würde ich die Ausgabe von überprüfen $mech->dump_forms()
. dump_forms
Dump-Informationen zu allen Formularen, die von WWW :: Mechanize in STDOUT gefunden werden. Dies ist etwas, was Sie wahrscheinlich nicht in den endgültigen Code eingeben würden, aber es ist eine großartige Hilfe zur Fehlersuche.
Anstatt es der Quelle Ihres Skripts hinzuzufügen, können Sie auch den Perl-Debugger verwenden:
Starten Sie den Perl-Debugger mit
perl -d /home/ricky/Downloads/Ubuntu/Scripts/SuperHubReboot.pl
Geben Sie ein
c 11
, um das Skript auszuführen, bevor Sie Zeile 11 ausführenDann geben
$mech->dump_forms
Sie ein (Sie können eine beliebige Perl-Anweisung in den Perl-Debugger eingeben, um sie im Kontext der aktuellen Zeile auszuführen.)Überprüfen Sie die Ausgabe von
dump_forms
: Verwendet das Webinterface des Virgin SuperHub wirklich das 'name'-Attribut auf der Anmeldeseite, danach aber ein' id'-Attribut?
Sie können auch $mech->form_number($n)
das entsprechende Formular auswählen (Achtung: Die Formularnummerierung in WWW :: Mechanize beginnt bei 1!).