Я получил помощь от @ 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>