Я не знаю Virgin SuperHub, но у меня достаточно опыта работы с Perl WWW :: Mechanize.
Первое, что я хотел бы сделать, это проверить вывод $mech->dump_forms()
. dump_forms
выводит информацию о всех формах WWW :: Mechanize найти в STDOUT. Это то, что вы, вероятно, не допустили бы в конечном коде, но это отличная помощь при отладке.
Вместо того, чтобы добавить его в исходный код вашего скрипта, вы также можете использовать отладчик perl:
Запустите Perl-отладчик с
perl -d /home/ricky/Downloads/Ubuntu/Scripts/SuperHubReboot.pl
Введите,
c 11
чтобы запустить сценарий до, прежде чем выполнение строки 11Затем введите
$mech->dump_forms
(вы можете ввести любой оператор perl в отладчике perl, чтобы выполнить его в контексте текущей строки)Проверьте вывод
dump_forms
: действительно ли веб-интерфейс Virgin SuperHub использует атрибут 'name' на странице входа в систему, но впоследствии атрибут 'id'?
Вы также можете использовать $mech->form_number($n)
для выбора соответствующей формы (будьте осторожны: нумерация форм в WWW :: Mechanize начинается с 1!).