• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# HtmlDocument类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中HtmlDocument的典型用法代码示例。如果您正苦于以下问题:C# HtmlDocument类的具体用法?C# HtmlDocument怎么用?C# HtmlDocument使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



HtmlDocument类属于命名空间,在下文中一共展示了HtmlDocument类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: CreateElement

 public void CreateElement()
 {
     var doc = new HtmlDocument();
     var a = doc.CreateElement("a");
     Assert.AreEqual("a", a.Name);
     Assert.AreEqual(a.NodeType, HtmlNodeType.Element);
 }
开发者ID:gavioto,项目名称:evimsync,代码行数:7,代码来源:HtmlDocumentTests.cs


示例2: CreateTextNodeWithText

 public void CreateTextNodeWithText()
 {
     var doc = new HtmlDocument();
     var a = doc.CreateTextNode("something");
     Assert.AreEqual("something", a.InnerText);
     Assert.AreEqual(a.NodeType, HtmlNodeType.Text);
 }
开发者ID:AlexanderByndyu,项目名称:HtmlAgilityPack,代码行数:7,代码来源:HtmlDocumentTests.cs


示例3: Head_SetNonExisting_Null_RemovesElement

 public void Head_SetNonExisting_Null_RemovesElement()
 {
     HtmlDocument document = new HtmlDocument() { Head = null };
     document.Head = null;
     Assert.True(document.IsEmpty);
     Assert.Null(document.Head);
 }
开发者ID:hughbe,项目名称:html-generator,代码行数:7,代码来源:HtmlDocumentTests.cs


示例4: ExtractCss

 private static string ExtractCss(HtmlDocument doc)
 {
     var styleTags = doc.FindTagsByName("style", "link").ToArray();
     var css = new StringBuilder();
     foreach (var tag in styleTags)
     {
         if (tag.IsType("style"))
             css.AppendLine(tag.ChildElements.ToSeparatedString(" "));
         else if (tag.IsType("link") && (string.Compare(tag.Attributes["type"], "text/css", true) == 0 || string.Compare(tag.Attributes["rel"], "stylesheet") == 0))
         {
             var src = tag.Attributes["href"];
             if (string.IsNullOrEmpty(src))
                 continue;
             var uri = new Uri(src, UriKind.RelativeOrAbsolute);
             if (!uri.IsAbsoluteUri && HttpContext.Current != null && HttpContext.Current.Request != null)
             {
                 uri = new Uri(HttpContext.Current.Request.Url, uri);
             }
             if (!uri.IsAbsoluteUri)
                 continue;
             var client = new WebClient();
             css.Append(client.DownloadString(uri));
         }
     }
     foreach (var tag in styleTags)
     {
         tag.Remove();
     }
     return css.ToString();
 }
开发者ID:jeppe-andreasen,项目名称:LinqIt-Libraries,代码行数:30,代码来源:CssInliner.cs


示例5: GetLinksFromWebsite

 public static List<string> GetLinksFromWebsite(string htmlSource)
 {
     var doc = new HtmlDocument();
     try
     {
         doc.LoadHtml(htmlSource);
         if (doc.DocumentNode.InnerHtml == null) return null;
         if (doc.DocumentNode.SelectNodes("//a[@ref]") == null)
         {
             return doc
                .DocumentNode
                .SelectNodes("//a[@href]")
                .Select(node => node.Attributes["href"].Value)
                .ToList();
         }
         return doc
             .DocumentNode
             .SelectNodes("//a[@ref]")
             .Select(node => node.Attributes["ref"].Value)
             .ToList();
     }
     catch (Exception)
     {
     }
         return null;
 }
开发者ID:jtsee2,项目名称:Crawler,代码行数:26,代码来源:Spider_old.cs


示例6: CreateTextNode

 public void CreateTextNode()
 {
     var doc = new HtmlDocument();
     var a = doc.CreateTextNode();
     Assert.AreEqual(HtmlNode.HtmlNodeTypeNameText, a.Name);
     Assert.AreEqual(a.NodeType, HtmlNodeType.Text);
 }
开发者ID:gavioto,项目名称:evimsync,代码行数:7,代码来源:HtmlDocumentTests.cs


示例7: Mouse_click_will_fail_because_hidden_link_is_matched_instead_of_visible_link

        public void Mouse_click_will_fail_because_hidden_link_is_matched_instead_of_visible_link()
        {
            // Playback.PlaybackSettings.SmartMatchOptions = SmartMatchOptions.None; // tried Sudhish Mathuria's suggestion

            var example2Path = Path.Combine(TestContext.TestDeploymentDir, "example2.htm");

            var window = BrowserWindow.Launch(example2Path);

            var document = new HtmlDocument(window);
            document.FilterProperties[HtmlDocument.PropertyNames.Title] = "2ad6de55-75f1-403f-8fcb-1d5defac9786";

            var visibleLink = new HtmlHyperlink(document);
            visibleLink.SearchProperties[HtmlHyperlink.PropertyNames.InnerText] = "Hello";

            // ONLY FIND VISIBLE CONTROLS !
            visibleLink.SearchConfigurations.Add(SearchConfiguration.VisibleOnly);

            var allMatches = visibleLink.FindMatchingControls();
            Assert.AreEqual(2, allMatches.Count, "Should be two matching.");

            visibleLink.Find(); // THIS SHOULD BE THE VISIBLE ONE

            Debug.WriteLine("BoundingRectangle: " + visibleLink.BoundingRectangle);
            Assert.IsTrue(visibleLink.BoundingRectangle.Width > 0, "Width should positive.");
            Assert.IsTrue(visibleLink.BoundingRectangle.Height > 0, "Height should positive.");

            Mouse.Click(visibleLink);
        }
开发者ID:jstangroome,项目名称:CodedUIHtmlVisibleOnlyIssue,代码行数:28,代码来源:CodedUITest1.cs


示例8: CreateAttributeWithText

 public void CreateAttributeWithText()
 {
     var doc = new HtmlDocument();
     var a = doc.CreateAttribute("href", "http://something.com");
     Assert.AreEqual("href", a.Name);
     Assert.AreEqual("http://something.com", a.Value);
 }
开发者ID:gavioto,项目名称:evimsync,代码行数:7,代码来源:HtmlDocumentTests.cs


示例9: Head_ReturnsHeadObject

        public void Head_ReturnsHeadObject()
        {
            var doc = new HtmlDocument();
            var head = doc.Head;

            Assert.IsInstanceOf<Head>(head);
        }
开发者ID:chumak84,项目名称:easygoing-html-builder,代码行数:7,代码来源:HtmlDocumentTests.cs


示例10: Main

 static void Main(string[] args)
 {
     HtmlDocument doc = new HtmlDocument();
     doc.Load(@"..\..\mshome.htm");
     doc.OptionOutputAsXml = true;
     doc.Save("mshome.xml");
 }
开发者ID:AlexanderByndyu,项目名称:HtmlAgilityPack,代码行数:7,代码来源:Html2Xml.cs


示例11: Main

	static void Main (string [] args)
	{
		HtmlDocument doc = new HtmlDocument();
		doc.Load(args [0]);
		doc.OptionOutputAsXml = true;
		doc.Save(args [1]);
	}
开发者ID:REALTOBIZ,项目名称:mono,代码行数:7,代码来源:convert.cs


示例12: TestCallingExistingFunction

 public void TestCallingExistingFunction()
 {
     var doc = new HtmlDocument();
     doc.LoadHtml("<html><body class=\"asdfasd\"><p>asdf asdf sdf</p></body></html>");
     dynamic docElement = doc.DocumentNode;
     var item = docElement.Descendants();
     Assert.IsInstanceOf<IEnumerable<HtmlNode>>(item);
 }
开发者ID:AlexanderByndyu,项目名称:HtmlAgilityPack,代码行数:8,代码来源:DynamicTests.cs


示例13: Body_ReturnsBodyObject

        public void Body_ReturnsBodyObject()
        {
            var doc = new HtmlDocument();

            Body body = doc.Body;

            Assert.IsInstanceOf<Body>(body);
        }
开发者ID:chumak84,项目名称:easygoing-html-builder,代码行数:8,代码来源:HtmlDocumentTests.cs


示例14: Head_SetExisting_NonNull_RemovesElement

 public void Head_SetExisting_NonNull_RemovesElement()
 {
     HtmlElement value = Tag.Head.WithClass("class");
     HtmlDocument document = new HtmlDocument() { Head = Tag.Head };
     document.Head = value;
     Assert.Equal(new HtmlElement[] { value }, document.Elements());
     Assert.Equal(value, document.Head);
 }
开发者ID:hughbe,项目名称:html-generator,代码行数:8,代码来源:HtmlDocumentTests.cs


示例15: Test_HasAttribute

        public void Test_HasAttribute()
        {
            var doc = new HtmlDocument("<html><head></head><body><a href=\"http://flo.se\">yo</a></body></html>");

            var link = doc.DocumentNode.SelectSingleNode("//a");

            Assert.IsTrue(link.HasAttribute("href"));
        }
开发者ID:moby41,项目名称:HtmlAgilityPack,代码行数:8,代码来源:HtmlDocumentTests.cs


示例16: Test_Attribute_ToString_Returns_Value

        public void Test_Attribute_ToString_Returns_Value()
        {
            var doc = new HtmlDocument("<html><head></head><body><a href=\"http://flo.se\">yo</a></body></html>");

            var link = doc.DocumentNode.SelectSingleNode("//a");

            Assert.AreEqual("http://flo.se", link.Attributes["href"].ToString());
        }
开发者ID:moby41,项目名称:HtmlAgilityPack,代码行数:8,代码来源:HtmlDocumentTests.cs


示例17: Test_Attribute_ToString_Returns_Empty_String_When_Value_Is_Not_Defined

        public void Test_Attribute_ToString_Returns_Empty_String_When_Value_Is_Not_Defined()
        {
            var doc = new HtmlDocument("<html><head></head><body><a href>yo</a></body></html>");

            var link = doc.DocumentNode.SelectSingleNode("//a");

            Assert.AreEqual(string.Empty, link.Attributes["href"].ToString());
        }
开发者ID:moby41,项目名称:HtmlAgilityPack,代码行数:8,代码来源:HtmlDocumentTests.cs


示例18: TestCallingExistingMember

 public void TestCallingExistingMember()
 {
     var doc = new HtmlDocument();
     doc.LoadHtml("<html><body class=\"asdfasd\"><p>asdf asdf sdf</p></body></html>");
     dynamic docElement = doc.DocumentNode;
     var item = docElement.Closed;
     Assert.IsInstanceOf<bool>(item);
 }
开发者ID:AlexanderByndyu,项目名称:HtmlAgilityPack,代码行数:8,代码来源:DynamicTests.cs


示例19: CreateCommentWithText

 public void CreateCommentWithText()
 {
     var doc = new HtmlDocument();
     var a = doc.CreateComment("something");
     Assert.AreEqual(HtmlNode.HtmlNodeTypeNameComment, a.Name);
     Assert.AreEqual("something", a.InnerText);
     Assert.AreEqual(a.NodeType, HtmlNodeType.Comment);
 }
开发者ID:gavioto,项目名称:evimsync,代码行数:8,代码来源:HtmlDocumentTests.cs


示例20: MainAsync

    public static async Task MainAsync()
    {
        string html;

        using (var client = new HttpClient())
        {
            html = await client.GetStringAsync("http://market.karelia.pro/section/8/");
        }

        var doc = new HtmlDocument();
        doc.LoadHtml(html);

        var pageCount =
            int.Parse(HttpUtility.ParseQueryString(
                new Uri(doc.DocumentNode.SelectSingleNode(".//*[@id='paginator']/li[9]/a").GetAttributeValue("href", ""))
                    .Query
                ).Get("page")
                );

        var task = Enumerable.Range(1, pageCount)
            .Select((n, i) => $"http://market.karelia.pro/section/8/?page={i + 1}")
            .Select(
                async n =>
                {
                    using (var clien = new HttpClient())
                    {
                        return await clien.GetStringAsync(n);
                    }
                }).ToList();

        var results = await Task.WhenAll(task);


        var q = results.SelectMany(n =>
        {
            var innerdoc = new HtmlDocument();
            innerdoc.LoadHtml(n);

            var foo =
                innerdoc.DocumentNode.SelectNodes(".//*[@id='alist']/li")
                    .Select(x => new
                    {
                        link = x.SelectSingleNode("//div[@class='name']/a").Attributes["href"].Value,
                        title = x.SelectSingleNode("//div[@class='name']/a/span[@class='title']").InnerText,
                        price = x.SelectSingleNode("//div[@class='price']/strong/span").InnerText
                    });

            return foo;
        }).ToList();

        new XDocument(new XDeclaration("1.0", null, null),
            new XElement("root",
                q.Select(
                    n =>
                        new XElement("item", new XElement(nameof(n.link), n.link),
                            new XElement(nameof(n.price), n.price), new XElement(nameof(n.title), n.title))))).Save(
                                "result.xml");
    }
开发者ID:exp10der,项目名称:KareliaParser,代码行数:58,代码来源:Program.cs



注:本文中的HtmlDocument类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# HtmlElement类代码示例发布时间:2022-05-24
下一篇:
C# HtmlAgilityPack.HtmlDocument类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap