<!DOCTYPE html> отсутствует в Selenium Python page_source

Я использую Selenium для функционального тестирования приложения Django и решил попробовать html5lib в качестве способа проверки html-вывода. Одна из валидаций заключается в том, что страница начинается с тега <!DOCTYPE ...>.

Проверки модульных тестов с response.content.decode() все работали нормально, правильно отмечая ошибки, но я обнаружил, что вывод Selenium driver.page_source начинается с тега html. Я дважды проверил, что использую правильный шаблон, изменив заголовок и убедившись, что изменение отражено в page_source. Также отсутствует новая строка и отступ между тегом <html> и тегом <title>.

Вот как выглядят первые несколько строк в браузере Firefox.

<!DOCTYPE html>
<html>
    <head>
        <title>NetLog</title>
    </head>

Вот код на языке Python.

self.driver.get(f"{self.live_server_url}/netlog/")
print(self.driver.page_source

А вот первые несколько строк печати при запуске под веб-драйвером Firefox.

<html><head>
        <title>NetLog</title>
    </head>

Тело страницы выглядит нормально, но отсутствующая новая строка также присутствует между </body> и </html>. Это ожидаемое поведение? Я полагаю, что в качестве обходного пути я мог бы просто вставить тег DOCTYPE перед строкой, но я бы предпочел, чтобы он вел себя как положено.

Chris

Вернуться на верх