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"))
{
}
}
当我调试链接等于ow.ly时,它显示0结果。
答案 0 :(得分:1)
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
。