ОбщиеКак извлечь значение атрибута в теги скрипта?
Сейчас я играю с HTML и Javascript, чтобы использовать изменяющуюся значение веб-сайта (температуры, стоимости акций, валютный курс, ...) для C# приложения.
(я намеренно игнорируя unclear legal situation.)
Специфические
У меня есть веб-сайт и его исходный код. Мое желаемое значение находится в тегах скриптов.
<script type="text/ng-template" id="TmplLiveEventDetails">
<div class="lii-progress">
<span ng-bind="liveEvent.eventStateText"></span> <strong class="m-liveGameTime{{::liveEvent.id}}"></strong><br/>
<!--code goes on here...-->
Я хочу использовать значение класса
m-liveGameTime
в моей C# приложение.
То, что я пытался до сих пор
Я начал с HtmlAgilityPack и XPath, но мне потребовалось некоторое время, чтобы понять, что он не работает с JavaScript. Затем я следил за this post, где используются HtmlAgilityPack и Юра. Но опять же, не работая, как я надеялся.
Я могу извлечь текстовый фрагмент, что в теге скрипта, но мне явно нужно получить HTML-код не через HtmlAgilityPack, а скорее то, что сначала оценивает выражения Javascript.
фрагмент моего кода, просто для ясности:
string url = "http://www.somewebsite.com";
HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load(url);
string scriptContent = document.DocumentNode.Descendants()
.Where(n => n.Id == "TmplLiveEventDetails")
.First().InnerHtml;
var engine = new Jurassic.ScriptEngine();
var result = engine.Evaluate("function() {" + scriptContent + " return m-liveGameTime4902493; })()");
Соображения
Я всего новичок в HTML и Javascript, и это действительно короткая сторона проекта, чтобы попробовать что-то. Если ответ заключается в том, что мне необходимо всесторонне изучить HTML и Javascript, чтобы сделать то, что я хочу, я с радостью принимаю этот совет.
Но я бы предпочел ответ, который я могу использовать немедленно.
Я посмотрю! – pat3d3r