I think I'll write this as something that supports multiple backends, so I don't have to marry a specific headless browser