<article class="swiper-slide" itemscope itemtype="http://schema.org/Movie"
data-list="Home - Highlights"
data-name="Thor: Ragnarok"
data-id="19730"
data-brand="Disney"
data-position="2"
>
该页面包含2-3个swiper-slides,我需要检查&#34;数据名称&#34;包含一个特定的字符串。
@Edit:
HtmlWeb _Web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument htmldoc = _Web.Load(Url);
htmldoc.OptionFixNestedTags = true;
try
{
foreach (HtmlNode x in htmldoc.DocumentNode.SelectNodes("//div[@class='swiper-slide']"))
{
// var op = x.SelectNodes("div[@class='data-name']");
Console.WriteLine(x.SelectNodes("data-name"));
}
}
catch (Exception)
{
Console.WriteLine("Cant get info!");
}
抱歉,我忘记发布代码了,我可以获取所有节点&#swe-slide&#39;,但是如何获取数据名称值?
答案 0 :(得分:1)
尝试以下代码
var html = @"<html>
<article class=""swiper-slide"" itemscope itemtype=""http://schema.org/Movie""
data-list=""Home - Highlights""
data-name=""Thor1""
data-id=""19730""
data-brand=""Disney""
data-position=""2""
></article>
<article class=""swiper-slide"" itemscope itemtype=""http://schema.org/Movie""
data-list=""Home - Highlights""
data-name=""Thor2""
data-id=""19730""
data-brand=""Disney""
data-position=""2""
></article>
<article class=""swiper-slide"" itemscope itemtype=""http://schema.org/Movie""
data-list=""Home - Highlights""
data-name=""Thor3""
data-id=""19730""
data-brand=""Disney""
data-position=""2""
></article>
</html>";
var doc = new HtmlDocument();
doc.LoadHtml(html);
var selected = doc.DocumentNode.SelectNodes(@"//article[@data-name=""Thor1""]/@data-name");
foreach (var node in selected) {
Console.WriteLine(node.InnerText);
}
这将输出
Thor1
答案 1 :(得分:0)
int Swipers = 0;
HtmlWeb _Web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument htmldoc = _Web.Load(Url);
htmldoc.OptionFixNestedTags = true;
try
{
foreach (HtmlNode x in htmldoc.DocumentNode.SelectNodes(@"//article[@data-name]"))
{
// var op = x.SelectSingleNode("./data-name");
// var op = x.SelectNodes("div[@class='data-name']");
string result = x.GetAttributeValue("data-name", "null").ToLower();
if (result.Contains("thor"))
{
// System.Diagnostics.Process.Start(Url);
MessageBox.Show("It Appears!");
sendEmail();
}
Console.WriteLine(result);
Swipers++;
}
}
catch (Exception)
{
Console.WriteLine("Cant get info!");
}
我不知道这是否是获得我想要的最佳方式,但是我现在可以为我工作。