Я хочу создать сценарий командной строки для Cygwin / Bash, который будет входить на сайт, переходить на определенную страницу и сравнивать его с результатами последнего запуска.
Пока что он работает с Lynx так:
----snpipped, just setting variables----
echo "# Command logfile created by Lynx 2.8.5rel.5 (29 Oct 2005)
----snipped the recorded keystrokes-------
key Right Arrow
key p
key Right Arrow
key ^U" >> $tmp1 #p, right arrow initiate the page saving
#"type" the filename inside the "where to save" dialog
for i in $(seq 0 $((${#tmp2} - 1)))
do
echo "key ${tmp2:$i:1}" >> $tmp1
done
#hit enter and quit
echo "key ^J
key y
key q
key y
" >> $tmp1
lynx -accept_all_cookies -cmd_script=$tmp1 https://thewebpage.com/login
diff $tmp2 $oldComp
mv $tmp2 $oldComp
Это определенно не кажется «правильным»: сценарий cmd_script состоит из относительных действий пользователя вместо указания точных имен ссылок и действий. Так что, если что-то на сайте когда-либо изменится, поменяется местами или будет добавлена новая ссылка - мне придется заново создать действия.
Кроме того, я не могу проверить наличие ошибок, поэтому не могу прервать выполнение сценария, если что-то пойдет не так (сбой входа и т. Д.)
Еще одна альтернатива, которую я рассмотрел, - это Механизация с Ruby (как примечание - у меня 0 опыта работы с Ruby).
Что было бы лучшим способом улучшить или переписать это?