Я пытаюсь написать скрипт на Tampermonkey для веб-сайта, который я часто посещаю, чтобы регистрировать движения моих кораблей.
Существует таблица, сгенерированная с веб-сайта, на которой есть текущие движения, и код такой::
<table class="movements_table">
<tbody>
<tr id="moveInfo815198" class="own">
<td><span title="Arrival time">1D 8h 3m</span></td>
<td class="ships">200</td>
<td class="quantity">200,000</td>
<td title="Origin" class="source">Town1</td>
<td title="Target" class="target">Town2</td>
</tr>
<tr id="moveInfo815199" class="own">
<td><span title="Arrival time">5D 3m 42s</span></td>
<td class="ships">50</td>
<td class="quantity">50,000</td>
<td title="Origin" class="source">Town1</td>
<td title="Target" class="target">Town2</td>
</tr>
</tbody>
</table>
Из инструментов веб-разработчика я понял, что теги: таблица, tr и span обновляются каждую секунду.
Я предполагаю, что они обновляются с помощью функции setInterval и что эта функция должнаиметь метку времени окончания для каждого движения (строка таблицы).
Моя проблема в том, что я не знаю, где искать эти метки времени в коде, чтобы регистрировать точное время прибытия каждого из моих движений.
В результате я ожидаю получить массив javascript (т.е. движений), который содержит столько же элементов, сколько и движений (строк таблицы), где каждый элемент этого массива будет другим массивом.Каждый из этих массивов будет включать следующие элементы:
[id,timestamp,ships,quantity,origin,target]
При анализе приведенного выше кода результат будет следующим:
var movements = [
[815198,endtimeofsetInterval1,200,200000,Town1,Town2],
[815199,endtimeofsetInterval2,50,50000,Town1,Town2]
];
Элементы endtimeofsetInterval1 и endtimeofsetInterval2 должны быть в миллисекундах, и они должны быть записаны где-то внутри HTML-кода.
Простое решение - преобразовать время прибытия из Дней, Часов, Минут, Секунд в Миллисекунды и добавить теперь миллисекунды..
Проблема с этим решением состоит в том, что время прибытия дает каждый раз только три его части, как первое движение (1D 8 ч 3 м).
Так что, если я преобразую предыдущее в миллисекунды, это будет 86400000, но это можеттакже может быть 86459000 или что-то среднее между ними, потому что секунды времени прибытия не отображаются.
Это означает, что endtimeofsetInterval1 , который я хочу зарегистрировать, не будет правильным, и может бытьдо 59 секунд не хватает в расчете.
Вот почему я хочу найти реальное времяmps, которые используются для обновления тегов приведенной выше таблицы.
PS Меня интересует только совместимость моего скрипта с Google Chrome.
Есть ли способ узнать, где находятся эти элементы в HTML-коде?