Nightmare js nicht vergessen ;D
PhantomJS schreibst du ja auch mit Javascript. Casper würde im Gegensatz zum 'reinen' Phantom einiges vereinfache, aber dass du eine reine Python Lösung willst kann ist verständlich.
Ich blicke da ehrlich gesagt auch nicht durch, und hab mich auch nur kurz mit Casper / Phantom beschäftigt. Bei den anderen Packages kann ich dir leider nicht helfen.