間に擬似端末を挟む方法で w3m や lynx を自動化したことならあるけど
w3m には自動化のためのインターフェースがあるみたいだよ。
その名を "Local CGI" という。
残念ながら man には書かれていないが、普通にダウンロードすれば
doc-jp/MANUAL.html に書いてある。
サンプルコードは Bonus/ にある。
ご所望のことが全部できるかは判らないが
他の方法よりは確実な動作を期待できそうだ。