Use page promise for text extraction.

Fixes #3919