我正在尝试在Safari Web检查器中使用xpath
我使用的是本地XML:
<searchable_index>
<item>John</item>
<item>Paul</item>
<item>George</item>
<item>Ringo</item>
</searchable_index>
我将其保存为本地文件,我打开Chrome并执行:
$ X( '//项目')
它没有问题,返回这个:
但是当我尝试在Safari中执行相同操作时,它会返回一个空数组
任何线索为什么会发生这种情况?它让我们疯狂
我在Yosemite中使用Safari 8.0.3(10600.3.18)
提前致谢。
答案 0 :(得分:1)
出于某种原因,如果选择Safari 8作为WebKit中的用户代理,并且输入文件具有*.xml
扩展名,则在控制台中键入的XPath表达式将不搜索源文档,但在其上生成的HTML,说
此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。
并且该HTML文档中没有item
个元素。从理论上讲,您可以从&#34; DOM Tree&#34;更改视图。到#34;源代码&#34;,但如果用户代理是Safari 8,那么这不起作用。此外,如果用户代理允许切换到源代码,则路径表达式仍然无效。< / p>
然而,将文件扩展名更改为*.html
会有效。然后,再试一次,Xpath表达式将找到item
元素。
如果您无法更改文件扩展名,我认为Safari Web Inspector中无法找到这些元素。然后,您必须依赖另一个工具来评估针对XML的XPath表达式,无论您的编程语言或框架中有什么。