c#与HTML敏捷包不能得到div类的值



我必须从网站下载一些数据,但我找不到适当的方式。这是我感兴趣的课:

<div class="flex-item text-primary" data-toggle="tooltip" title="" data-original-title="wsgk@wsgk.com.pl">
<a class="ajax-modal-link icon-envelope cursor-pointer  addax addax-cs_hl_email_submit_click" data-count-hovers="" data-hover-class-remove="addax addax-cs_hl_email_click_submit" data-hover-class-add="addax addax-cs_hl_email_hover" data-ga="l-email-modal" data-type="p" data-tracking-click="" data-toggle="modal" data-target="#mail-modal" data-company-trade-id="3123" data-company-id="120863029" data-company-email="mail@mail.com" data-company-name="Name" data-ajax-modal-tracking-type="result">
email
</a>
</div>

THIS IS MY LOOP:

foreach(var site in website)
{
var html = site.Value;
var web = new HtmlWeb();
var _html = web.Load(html); 
var node = _html.DocumentNode.SelectNodes("//div[@class='flex-item text-primary']");
foreach (var mail in node)
{
try
{
Console.WriteLine(mail.Attributes["data-original-title"].Value);
}

}
}

这是控制台的输出:对象引用未设置为对象的实例。

看起来是这样的:在这里输入图像描述你能帮我一下吗?

//更新
<div class="d-flex justify-content-between m-0 bottom-content">
<div class="flex-item text-primary">
<a class="icon-telephone  addax addax-cs_hl_phonenumber_click" href="https://panoramafirm.pl/zachodniopomorskie,gryficki,trzebiatów,kwiatowa,3/pphu_agawa_inz_waldemar_fiolek-scinlt_aal.html" data-count-hovers="" data-hover-class-remove="addax addax-cs_hl_phonenumber_click" data-hover-class-add="addax addax-cs_hl_phone_hover" data-ga="l-phone" data-toggle="tooltip" title="" data-tracking-click="https://panoramafirm.pl/tr4ck1ng.png?displayType=results&amp;type=clickphone&amp;sid=8f04e98ua6kmfmkr7fe1b26rth&amp;lstPersistentId=120898648_611&amp;page=4" data-tracking-id="120898648_611" data-type="p" data-original-title="601 155 493">
telefon
</a>
</div>
<div class="flex-item text-primary">
<a class="icon-website  text-secondary  addax addax-cs_hl_hit_homepagelink_click" disabled="disabled">
www
</a>
</div>
<div class="flex-item text-primary" data-toggle="tooltip" title="" data-original-title="agawa.fiolek@gmail.com">
<a class="ajax-modal-link icon-envelope cursor-pointer  addax addax-cs_hl_email_submit_click" data-count-hovers="" data-hover-class-remove="addax addax-cs_hl_email_click_submit" data-hover-class-add="addax addax-cs_hl_email_hover" data-ga="l-email-modal" data-type="p" data-tracking-click="https://panoramafirm.pl/tr4ck1ng.png?displayType=results&amp;type=clickemail&amp;sid=8f04e98ua6kmfmkr7fe1b26rth&amp;lstPersistentId=120898648_611&amp;page=4" data-toggle="modal" data-target="#mail-modal" data-company-trade-id="611" data-company-id="120898648" data-company-email="agawa.fiolek@gmail.com" data-company-name="Pphu Agawa Inż Waldemar Fiołek" data-ajax-modal-tracking-type="result">
email
</a>
</div>
<div class="flex-item text-primary">
<a class="icon-check-point show-on-map
cursor-pointer
addax addax-cs_hl_hit_company_footer_map" data-lat="54.05219" data-lon="15.28209" data-tradeid="611" data-companyid="120898648" data-ga="l-map" data-type="p" data-tracking-click="https://panoramafirm.pl/tr4ck1ng.png?displayType=results&amp;type=clickmap&amp;sid=8f04e98ua6kmfmkr7fe1b26rth&amp;lstPersistentId=120898648_611&amp;page=4">
mapa
</a>
</div>
</div>

我怎么能跳过两个第一个div,然后选择第三个?

你不需要做一个循环,只使用数组和单节点:

var node = _html.DocumentNode.SelectSingleNode("//div[@class='flex-item text-primary'][3]");
Console.WriteLine(node.Attributes["data-original-title"].Value);

最新更新