Я пытаюсь понять, как использовать angularsharp.
Я сделал этот код на основе примера (https://github.com/AngleSharp/AngleSharp):
// Setup the configuration to support document loading
var config = Configuration.Default.WithDefaultLoader();
// Load the names of all The Big Bang Theory episodes from Wikipedia
var address = "http://store.scramblestuff.com/";
// Asynchronously get the document in a new context using the configuration
var document = await BrowsingContext.New(config).OpenAsync(address);
// This CSS selector gets the desired content
var menuSelector = "#storeleft a";
// Perform the query to get all cells with the content
var menuItems = document.QuerySelectorAll(menuSelector);
// We are only interested in the text - select it with LINQ
var titles = menuItems.Select(m => m.TextContent).ToList();
var output = string.Join("\n", titles);
Console.WriteLine(output);
Это работает, как и ожидалось, но теперь я хочу получить доступ к свойству Href
, но не могу этого сделать:
var links = menuItems.Select(m => m.Href).ToList();
Когда я смотрю в отладчике, я вижу в представлении результатов, что перечисляемый объект HtmlAnchorElement
имеет свойство Href, но я, очевидно, не пытаюсь получить к нему правильный доступ.
Ни один из примеров в документации не показывает доступ к свойству, поэтому я думаю, что это что-то настолько простое, что его не нужно показывать, но я не вижу, как это сделать.
Может ли кто-нибудь показать мне, как я должен получить доступ к свойству html с острым углом?
редактировать:
Это работает, когда я привожу его к правильному типу
foreach (IHtmlAnchorElement menuLink in menuItems)
{
Console.WriteLine(menuLink.Href.ToString());
}
Как бы я написал это как оператор Linq, например переменную titles?