本文整理汇总了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;未经允许,请勿转载。 |
请发表评论