Xpath в Safari Web Inspector не работает

Я пытаюсь использовать xpath в веб-инспекторе Safari.

Я использую этот локальный XML:

<searchable_index>
    <item>John</item>
    <item>Paul</item>
    <item>George</item>
    <item>Ringo</item>
</searchable_index>

Я сохраняю его как локальный файл, открываю Chrome и делаю:

$ Х ('// элемент')

И это работает без проблем, возвращая это:

Но когда я пытаюсь сделать то же самое в Safari, он возвращает пустой массив

Какие-нибудь подсказки, почему это происходит? Это сводит нас с ума

Я использую Safari 8.0.3 (10600.3.18) в Йосемити

Заранее спасибо.

1 ответ

По какой-то причине, если Safari 8 выбран в качестве пользовательского агента в WebKit, и если входной файл имеет *.xml расширением, то выражение XPath, набранное в консоли, не будет искать исходный документ, но HTML, сгенерированный поверх него, говоря:

Этот XML-файл не имеет никакой информации о стиле, связанной с ним. Дерево документа показано ниже.

и нет item элементы в этом документе HTML. Теоретически, вы можете изменить представление с "DOM Tree" на "Source Code", но это не работает, если пользовательский агент - Safari 8. Кроме того, с пользовательским агентом, который разрешает переключение на Source Code, выражение пути все еще не не работает

Тем не менее, изменение расширения файла на *.html буду работать. Затем попробуйте еще раз, и выражение Xpath найдет item элементы.

Если вы не можете изменить расширение файла, я думаю, что в Safari Web Inspector нет способа найти эти элементы. Затем вам нужно будет полагаться на другой инструмент, который оценивает выражения XPath по отношению к XML, независимо от того, что доступно на вашем языке программирования или в фреймворке.

Другие вопросы по тегам