Как вы могли заметить, parseFromString()
принимает второй аргумент, который обозначает ожидаемый тип. HTML просто не поддерживается в PhantomJS (в настоящее время версия 2.0.0):
Как this page отмечает, PhantomJS 2 основан на WebKit 538.1 (октябрь/ноябрь 2013) и приведенная выше таблица показывает, что поддержка HTML был добавлен в Chrome с версией 30, которая вышла на 1. Oktober 2013, которая уже была Blink (да, немецкая страница WikiPedia лучше, чем на английском). Вероятно, это произошло в более поздней версии WebKit в зависимости от циклов разработки.
Другие способы
PhantomJS может создать документ из "текст/XML". Поэтому, если у вас есть xhtml, вы можете разобрать его так.
Вы также можете изучить другие способы анализа HTML. Эта статья MDN обширна в этом отношении: HTML to DOM.
Если это бесплодно, вы можете попытаться выяснить, может ли некоторый модуль node.js правильно анализировать HTML. У PhantomJS и node.js есть разные среды исполнения, но модули, у которых почти нет зависимостей, как правило, работают в обоих.
Как можно создать документ из «text/xml» в PhantomJS без использования DOMParser? Спасибо и заранее! – lizlux
@lizlux Я не знаю другого способа, но почему вы не используете его, если он доступен? –