Блин, я думаю, чего у меня null всё время показывает querySelector(с любым тегом).
Проверил:
alert(document.documentElement.innerHTML)
Оказывается document берёт не из той страницы, которая открылась, а из страницы, на которой подключен скрипт(я её не подключал, видимо хром сам).
<head></head><body><script src="background.js"></script></body>