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, независимо от того, что доступно на вашем языке программирования или в фреймворке.