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
.
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
.