【问题标题】:C# Grab element attribute by class nameC#按类名抓取元素属性
【发布时间】:2017-08-22 13:56:44
【问题描述】:

所以我想从下面的sn-p中获取data-sitekey的值。

<div class="g-recaptcha" data-sitekey="6LdC0iQUAAAAAOYmRv34KSLDe-7DmQrUSYJH8eB_"></div>

我尝试过使用网络浏览器和 HtmlAgilityPack,但没有成功。 这是我的代码:

HtmlWeb web = new HtmlWeb();

HtmlAgilityPack.HtmlDocument doc = web.Load(url);

var headerNames = doc.DocumentNode.SelectNodes("//div[@class='g-recaptcha']").ToList();

foreach (var item in headerNames)
{
    string hrefValue = item.GetAttributeValue("data-sitekey", string.Empty);
    Console.WriteLine(hrefValue);
}

【问题讨论】:

  • 什么不起作用? :)
  • @sniperd 它只是返回'操作已超时'

标签: c# html web element screen-scraping


【解决方案1】:

应该是这样的string hrefValue = Attributes["data-sitekey"]

HtmlWeb web = new HtmlWeb();
                HtmlAgilityPack.HtmlDocument doc = web.Load(url);

                var headerNames = doc.DocumentNode.SelectNodes("//div[@class='g-recaptcha']").ToList();

                foreach (var item in headerNames)
                {
                    string hrefValue = Attributes["data-sitekey"]
                    Console.WriteLine(hrefValue);
                }

【讨论】:

    猜你喜欢
    • 2019-09-09
    • 2022-01-14
    • 2023-03-09
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 2022-03-07
    相关资源
    最近更新 更多