我一直在尝试设置 FizzlerEx,可在http://fizzlerex.codeplex.com/找到。添加对我的项目的引用后,我尝试运行网站上给出的示例代码 - 下面列出了我的全部代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HtmlAgilityPack;
using Fizzler.Systems.HtmlAgilityPack;
namespace Fizzler_Test
{
class Program
{
static void Main(string[] args)
{
var web = new HtmlWeb();
var document = web.Load("http://example.com/page.html");
var page = document.DocumentNode;
foreach (var item in page.QuerySelectorAll("div.item"))
{
var title = item.QuerySelector("h3:not(.share)").InnerText;
var date = DateTime.Parse(item.QuerySelector("span:eq(2)").InnerText);
var description = item.QuerySelector("span:has(b)").InnerHtml;
}
}
}
但是,这会产生构建错误,声称:
Error 1 'HtmlAgilityPack.HtmlNode' does not contain a definition for 'QuerySelectorAll' and no extension method 'QuerySelectorAll' accepting a first argument of type 'HtmlAgilityPack.HtmlNode' could be found (are you missing a using directive or an assembly reference?)
看起来 QuerySelectorAll 实际上并不是 HtmlNode 的一部分,但鉴于这是从网站逐字获取的官方示例代码,我希望创建者了解他们的库是如何工作的。我不知道实际问题可能是什么。
这里似乎找到了一个相关的问题,但没有找到合适的答案:Fizzler and QuerySelectorAll