The Lynx browser is tiny, fast, and supports a good part of modern web pages. It's a great tool for quickly getting a rough idea of what your page looks like.
Example: my Flask app refuses to handle authentication correctly. So, I write a API test to log in to myserver, capture the response, then write it to a server-side HTML file. Next I use Lynx to view it so I can see what it's doing!
Here's my Registration test:
"validate page that uses POST"
rv = client.post('/auth/register', data=dict(
with open('zoot.html', 'w') as pagef:
Run the test
Next, use the server-side browser to view my output:
lynx -dump -stdin < zoot.html
(BUTTON) Toggle navigation test
* Log In
Passwords must match.
Confirm password ____________________
This field is required.
Note the "Passwords must match" bit. Ah, there's my bug. In the POST I'd forgotten to send both the password and validating password2 fields. Bug fixed, thanks to Lynx!