对不起标题,我不知道怎么写。有一个包含几个li 的div块。每个li包含书的年份、作者、版权所有者等。我只想获取版权所有者。我想要做到这一点,我需要找到它在li中所说的位置,并使用(Atticus ABC)获取文本。我尝试了许多不同的方法,但都没有奏效。<strong> Правообладатель:</strong>
<div class="blocks">
<li>...</li>
<li>...</li>
<li>
<strong>Правообладатель:</strong>
<a href="/azbuka-attikus/">Азбука-Аттикус</a>
</li>
<li>...</li>
</div>
我试过这样:
HtmlNode pravo = document.DocumentNode.SelectSingleNode("//li/strong[@text='Правообладатель:']/a");
我知道这样我将无法从a获取文本,但我不再有任何想法如何做到这一点。
好的备忘单 - Xpath备忘单
你的问题是你取了inspector的代码,也就是已经被页面内嵌的javascript处理过了,但是你需要准确的取页面的源代码(页面右键-Source code),必要的其中一部分看起来像这样:
因此,获取所需链接的完整代码将如下所示。
控制台输出
或者更容易提出请求
你也可以不使用 XPath,而是使用 CSS 选择器,为此你需要额外安装 NuGet 包
Fizzler.Systems.HtmlAgilityPack,你可以这样做: