Кодированный пользовательский интерфейс - C # - тег itemprop времени - как проверить год существует - PullRequest
0 голосов
/ 08 июня 2018

Я получил помощь от @ dlatikay в несколько ином вопросе вчера, что помогло мне частично устранить ложноположительную ошибку.Вот фрагмент кода:

string countCurrentYearQA = (string)(window.ExecuteScript("count = 0; if(document.body.innerText.toString().indexOf('" + nowYearQAString + "')  > -1){count = 1;} return count.toString();"));
string countPastYearQA = (string)(window.ExecuteScript("count = 0; if(document.body.innerText.toString().indexOf('" + pastYearQAString + "')  > -1){count = 1;} return count.toString();"));

string countCurrentYearQAWithoutEndPipe = (string)(window.ExecuteScript("count = 0; if(document.body.innerText.toString().indexOf('" + nowYearQAStringWithoutPipe + "')  > -1){count = 1;} return count.toString();"));
string countPastYearQAWithoutEndPipe = (string)(window.ExecuteScript("count = 0; if(document.body.innerText.toString().indexOf('" + pastYearQAStringWithoutPipe + "')  > -1){count = 1;} return count.toString();"));

То, что происходит, заключается в том, что в большинстве случаев JavaScript может проверить, существует ли какой-либо конкретный год или нет.Но где-то на странице может быть указан год, который может вызвать ложный положительный тест.

Я ищу пример, где я могу выполнить JavaScript для таргетинга на тег времени, так как он имеет значение datetime с itemprop = "datePublished".Мне нужно только проверить, совпадает ли год.Как получить все значения itemprop, извлечь только год (4 цифры), и если год совпадает со строкой года, которую я использую в скрипте выполнения (например: nowYearQAString), то count возвращает 1, в противном случае count возвращает 0Можно ли поместить все годы в список / массив, к которому я могу обратиться, используя код C #?Я буду благодарен за любой пример кода, который направит меня в правильном направлении.

Вот фрагмент страницы, которую я тестирую.

<time itemprop="datePublished" datetime="2018-03-08T11:00:00">March 8, 2018</time>

<time itemprop="datePublished" datetime="2017-12-07T12:40:00">December 7, 2017</time>

<time itemprop="datePublished" datetime="2017-11-23T10:00:00">November 23, 
2017</time>

<time itemprop="datePublished" datetime="2017-10-13T09:00:00">October 13, 2017</time>

<time itemprop="datePublished" datetime="2017-09-16T00:00:00">September 16, 2017</time>

<time itemprop="datePublished" datetime="2017-08-25T00:00:00">August 25, 2017</time>

<time itemprop="datePublished" datetime="2017-08-17T11:00:00">August 17, 2017</time>

<time itemprop="datePublished" datetime="2017-07-25T00:00:00">July 25, 2017</time>

<time itemprop="datePublished" datetime="2017-05-23T00:00:00">May 23, 2017</time>

<time itemprop="datePublished" datetime="2017-05-12T15:00:00">May 12, 2017</time>

1 Ответ

0 голосов
/ 20 июня 2018

Это должно помочь вам начать.Это добавит годы к массиву:

$(document).ready(function(){
  var years = [];
    $('time').each(function(){
     var thisYear = $(this).attr('datetime').split('-')[0];
     // do something with thisYear...
     years.push(thisYear);
  });
  // Write all years to console window.
  console.log(years);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...