当我编写 XPath 时,浏览器从哪里获取页面的 XML,简而言之,浏览器如何在内部使用 xpath。我正在学习 selenium 并且我正在使用 xpath 来识别 WebElements。
2 回答
![?](http://img1.sycdn.imooc.com/533e4d5b0001d57502200203-100-100.jpg)
长风秋雁
TA贡献1757条经验 获得超7个赞
通常,XPath表达式指定一个模式来选择一组XML 节点。XSLT模板然后在应用转换时使用这些模式。
(另一方面,XPointer 添加了定义点或范围的机制,以便 XPath 表达式可用于寻址)。
XPath表达式中的节点引用的不仅仅是元素。它们还指的是text和attributes等。事实上,XPath规范定义了一个抽象的文档模型。
![?](http://img1.sycdn.imooc.com/533e4d510001c2ad02000200-100-100.jpg)
慕仙森
TA贡献1827条经验 获得超8个赞
通常,XPath 处理器将 (a) XPath 表达式和 (b) 用作上下文节点的节点作为输入;它根据该上下文节点评估该表达式,并将结果返回给调用应用程序。
所以调用 XPath 的 API 通常看起来像
result = xpath.eval(expression, contextNode)
也许
result = contextNode.evalXPath(expression)
也许
result = xpath.compile(expression).eval(contextNode)
在 Web 浏览器环境中,contextNode 可能默认设置为 HTML 页面。
在实践中,用于调用 XPath 的 API 具有额外的复杂性,例如允许设置命名空间上下文,以及允许将外部变量/参数绑定到值。
添加回答
举报
0/150
提交
取消