xpath在内部如何工作?

时间:2018-07-28 15:52:17

标签: java selenium selenium-webdriver xpath

当我编写XPath时,浏览器将从何处获取页面的XML,简而言之,浏览器如何在内部使用xpath。

我正在学习硒,并且正在使用xpath来标识WebElement。

2 个答案:

答案 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具有其他复杂性,例如,允许设置名称空间上下文,并允许将外部变量/参数绑定到值。