当我编写XPath时,浏览器将从何处获取页面的XML,简而言之,浏览器如何在内部使用xpath。
我正在学习硒,并且正在使用xpath来标识WebElement。
答案 0 :(得分:1)
通常, XPath 表达式指定一种模式,该模式选择一组 XML节点。然后, XSLT 模板会在应用转换时使用这些模式。
(另一方面,XPointer添加了用于定义点或范围的机制,以便可以使用XPath表达式进行寻址)。
XPath 表达式中的节点不仅指元素。他们还引用了文本和属性等。实际上, XPath 规范定义了抽象文档模型。
有关更多信息,您可以参考以下链接:How xpath works internally
答案 1 :(得分:1)
通常,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具有其他复杂性,例如,允许设置名称空间上下文,并允许将外部变量/参数绑定到值。