Geckofx 从页面获取特定链接

Geckofx get specific links from a page

var links = new List<GeckoElement>();
foreach (var link in geckoWebBrowser1.Document.Links)
{
    if (!String.IsNullOrEmpty(link.GetAttribute("href").ToString()))
        links.Add(link);
    }
}

我有这段代码可以收集页面中的所有链接,但我不知道如何过滤到某些以 "ow.ly" 开头的特定链接。列表中的其余部分应被忽略。

试过这个但似乎没用

if (links.Count > 0)
{
    if (links.Equals("ow.ly"))
    {

    }
}

当我调试 if links 等于 ow.ly 时,它显示 0 个结果。

links 是一个List<GeckoElement>。所以列表不太可能等于字符串 "ow.ly"。相反,您想过滤项目列表,其中 href 属性 包含该文本。

你可以这样做,例如:

var owlyLinks = geckoWebBrowser1.Document.Links.Where(link =>
{
    string hrefAttribute = link.GetAttribute("href").ToString();
    return !string.IsNullOrEmpty(hrefAttribute) && hrefAttribute.Contains("ow.ly");
}).ToList();

您可能想要调整检查,以便 "ow.ly" 需要出现在某个特殊的地方,而不是仅仅出现在字符串中的某个地方。例如,您可以解析整个 Url,然后检查主机名是否等于 ow.ly.