xpath“.// span”,点是什么意思?

时间:2017-03-13 21:30:43

标签: html xml xpath selenium-webdriver

//header[.//span[contains(text(), 'part_title')]]//label[contains(@class, 'start')]中,.中的.//点是什么意思?谢谢

1 个答案:

答案 0 :(得分:7)

您需要了解XPath“context”节点的概念。在导航XPath表达式时,每个步骤都标识一个上下文节点或节点集,从中计算后续表达式,但绝对路径除外,例如 <entry> <record>98</record> <time>2017/03/13 21:27:54.615</time> <type>Error</type> <source>VisualStudio</source> <description>LegacySitePackage failed for package [GitHubPackage]Source: &apos;GitHub.VisualStudio&apos; Description: Object reference not set to an instance of an object.&#x000D;&#x000A;System.NullReferenceException: Object reference not set to an instance of an object.&#x000D;&#x000A; at GitHub.VisualStudio.GitHubPackage.Initialize() in Y:\jenkins\workspace\GitHub for Visual Studio speakeasy jenkinskeep\src\GitHub.VisualStudio\GitHubPackage.cs:line 58&#x000D;&#x000A; at Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)</description> <guid>{C3D3DC68-C977-411F-B3E8-03B0DCCF7DFC}</guid> <hr>80004003 - E_POINTER</hr> <errorinfo></errorinfo> </entry>

构造//表示“从当前节点开始,在当前上下文节点下面的任何级别找到下一个后代.//span。与span对比,这意味着一个直接的孩子{当前上下文节点的{1}}。

没有前导点./span表示根节点(如果它是span),而/span表示文档中任何级别的第一个span

或者,更简单地说,前导点的含义与Linux目录中的//span条目完全相同。