Пользовательский скрипт Tampermonkey для получения данных ячеек таблицы с помощью поиска по ключевым словам?

Я новичок в использовании Tampermonkey и пытаюсь получить имя сотрудника из таблицы, в которой строка содержит data-akfk-type = "event">AHOD

Например, в таблице ниже это должно возвращать 'Clare' и 'Ivan', поскольку каждая из этих строк имеет data-akfk-type = "event">AHOD.

В таблице всегда будет две строки, содержащие 'AHOD', но они могут находиться в любой строке таблицы.

<table id = "iCalTbl" class = "groupCalendar">
<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow">
    <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" id = "[email protected]">
        <div class = "rowHeaderCell"><a href = "#" title = "Display employee details"
                data-akfk-type = "employee" id = "[email protected]">
                Clare</a>&nbsp;&nbsp;<img src = "images/flags/country/spain.png">
        </div>
    </td>
    <td data-dp-col = "1" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "2" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
    <td data-dp-col = "18" class = "tblCalendDailyViewMain iCalTblCellNow">.</td>
    <td data-dp-col = "19" class = "tblCalendDailyViewMain iCalTblCellNow">.</td>
    <!-- ... -->
    <td data-dp-col = "29" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "30" class = "tblCalendDailyViewMain">
        <div data-akfk-type = "cell" data-dp-employeeid = "[email protected]">
            <div class = "shiftlightblue eventDailyContainer" data-akfk-type = "eventContainer">
            <span id = "event_1601787" data-akfk-type = "event">AHOD</span></div>
        </div>
    </td>
    <td data-dp-col = "31" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
</tr>

<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow">
    <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" id = "[email protected]">
        <div class = "rowHeaderCell"><a href = "#" title = "Display employee details"
                data-akfk-type = "employee" id = "[email protected]">
            Sally</a>&nbsp;&nbsp;<img src = "images/flags/country/united_arab_emirates.png">
        </div>
    </td>
    <td data-dp-col = "1" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "2" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
    <td data-dp-col = "18" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "19" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
    <td data-dp-col = "29" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "30" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "31" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
</tr>
<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow">
    <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" id = "[email protected]">
        <div class = "rowHeaderCell"><a href = "#" title = "Display employee details"
            data-akfk-type = "employee" id = "[email protected]">Ivan</a>&nbsp;&nbsp;<img src = "images/flags/country/italy.png">
        </div>
    </td>
    <td data-dp-col = "1" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "2" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
    <td data-dp-col = "18" class = "tblCalendDailyViewMain iCalTblCellNow">.</td>
    <td data-dp-col = "19" class = "tblCalendDailyViewMain iCalTblCellNow">.</td>
    <!-- ... -->
    <td data-dp-col = "29" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "30" class = "tblCalendDailyViewMain">
        <div data-akfk-type = "cell" data-dp-employeeid = "[email protected]">
            <div class = "shiftlightblue eventDailyContainer" data-akfk-type = "eventContainer">
                <span id = "event_1601789" data-akfk-type = "event">
            AHOD</span></div>
        </div>
    </td>
    <td data-dp-col = "31" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
</tr>
</table>

Я пробовал:

document.getElementsByClassName("groupCalendar")[0].textContent

что дает мне весь текстовый контент

"   000102030405060708091011121314151617181920212223Clare                                AHOD  Sally Ivan                                 AHOD  "

Затем использовал split на 'AHOD', чтобы попытаться получить значение первого значения путем разделения.

Я подозреваю, что мне нужно сузить поиск до элемента DOM таблицы, а не всей таблицы. Затем возьмите и укажите в строке, которая соответствует поиску.

Я не знаю, как найти по ключевому слову 'AHOD' и узнать имя этого сотрудника?

Добро пожаловать в Stackoverflow. Хорошо включать код, но его много, и я отформатировал его так, чтобы он был удобочитаемым. Может быть, попробуйте включить достаточно кода, чтобы проиллюстрировать вашу проблему ... в этом случае я сомневаюсь, что нужна была полная таблица HTML?

bcperth 29.10.2018 12:13

Спасибо (мой первый пост, так что ошибка новичка)

Jason S 29.10.2018 12:44
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
593
3

Ответы 3

вам нужно пройти через каждый tr, см. код ниже

var results = '',
  trs = document.getElementsByTagName('tr');

for (var i = 0; i < trs.length; i++) {
  if (trs[i].innerHTML.indexOf('data-akfk-type = "event">AHOD') > -1) {
    results += trs[i].getElementsByTagName('a')[0].textContent + "\n";
  }
}

console.info("Results: \n" + results)
<table>

<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow">
  <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" style = "white-space:nowrap;" id = "[email protected]">
    <div class = "cell rowHeaderCell" style = "width: 148px;"><a href = "#" title = "Display employee details" onclick = "iCal_showEmployeeInfo(this,event);return false;" data-akfk-type = "employee" id = "[email protected]">Clare</a>&nbsp;&nbsp;<img height = "16" width = "20" src = "images/flags/country/spain.png" alt = "Spain">
    </div>
  </td>
  <td data-dp-col = "0" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "1" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "2" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "3" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "4" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "5" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "6" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "7" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "8" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "9" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "10" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "11" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "12" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "13" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "14" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "15" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "16" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "17" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "18" class = "tblCalendDailyViewMain iCalTblCellNow" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "19" class = "tblCalendDailyViewMain iCalTblCellNow" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "20" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "21" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "22" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "23" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "24" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "25" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "26" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "27" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "28" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "29" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "30" class = "tblCalendDailyViewMain" colspan = "16" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" data-akfk-type = "cell" data-dp-employeeid = "[email protected]" style = "width:255px">
      <div class = "shiftlightblue eventDailyContainer" data-akfk-type = "eventContainer" style = "height:1.6em;padding-top:0.6em"><span id = "event_1601787" data-akfk-type = "event">AHOD</span></div>
    </div>
  </td>
  <td data-dp-col = "31" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "32" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
</tr>

<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow">
  <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" style = "white-space:nowrap;" id = "[email protected]">
    <div class = "cell rowHeaderCell" style = "width: 148px;"><a href = "#" title = "Display employee details" onclick = "iCal_showEmployeeInfo(this,event);return false;" data-akfk-type = "employee" id = "[email protected]">Sally</a>&nbsp;&nbsp;<img height = "16" width = "20" src = "images/flags/country/united_arab_emirates.png"
        alt = "United Arab Emirates"></div>
  </td>
  <td data-dp-col = "1" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "2" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "3" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "4" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "5" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "6" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "7" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "8" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "9" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "10" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "11" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "12" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "13" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "14" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "15" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "16" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "17" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "18" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "19" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "20" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "21" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "22" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "23" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "24" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "25" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "26" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "27" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "28" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "29" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "30" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "31" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "32" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "33" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "34" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "35" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "36" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "37" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "38" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "39" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "40" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "41" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "42" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "43" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "44" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "45" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "46" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "47" class = "tblCalendDailyViewMain" style = "border-left:1px solid #BEC7CC">
    <div style = "width:15px"></div>
  </td>
  <td data-dp-col = "48" class = "tblCalendDailyViewMain" style = "border-left: 1px solid rgb(190, 199, 204);">
    <div style = "width:15px"></div>
  </td>
</tr>



<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow" style = "">
  <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" style = "white-space:nowrap;" id = "[email protected]">
    <div class = "cell rowHeaderCell" style = "width: 148px;"><a href = "#" title = "Display employee details" onclick = "iCal_showEmployeeInfo(this,event);return false;" data-akfk-type = "employee" id = "[email protected]">Ivan</a>&nbsp;&nbsp;<img height = "16" width = "20" src = "images/flags/country/italy.png" alt = "Italy"></div>
  </td>
  <td data-dp-col = "0" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "1" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "2" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "3" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "4" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "5" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "6" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "7" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "8" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "9" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "10" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "11" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "12" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "13" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "14" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "15" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "16" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "17" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "18" class = "tblCalendDailyViewMain iCalTblCellNow" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "19" class = "tblCalendDailyViewMain iCalTblCellNow" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "20" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "21" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "22" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "23" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "24" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "25" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "26" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "27" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "28" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "29" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "30" class = "tblCalendDailyViewMain" colspan = "16" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" data-akfk-type = "cell" data-dp-employeeid = "[email protected]" style = "width:255px">
      <div class = "shiftlightblue eventDailyContainer" data-akfk-type = "eventContainer" style = "height:1.6em;padding-top:0.6em"><span id = "event_1601789" data-akfk-type = "event">AHOD</span></div>
    </div>
  </td>
  <td data-dp-col = "31" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
  <td data-dp-col = "32" class = "tblCalendDailyViewMain" style = "vertical-align:top;border-left:1px solid #BEC7CC">
    <div class = "cell" style = "width:15px">&nbsp;</div>
  </td>
</tr>

</table>

Используйте jQuery для лазерного нацеливания на узлы "AHOD", а затем просмотрите дерево, чтобы найти нужные данные:

var ahodNodes = $("span[data-akfk-type='event']:contains('AHOD')");
//-- Get the desired related text for each:
ahodNodes.each ( (J, zNode) => {
    var parentRow       = $(zNode).closest ("tr.iCalTblRow");
    var employeeCell    = parentRow.find (".iCalTblEmployeeCell");
    var employeeName    = employeeCell.text ().trim ();
    console.info ("employeeName: ", employeeName);
} );

Это также упрощает переход к страницам, управляемым AJAX (подробнее ниже).

A полный рабочий сценарий (это просто часть над блоком ******). :
Чтобы увидеть это в действии, запустите фрагмент кода.

// ==UserScript==
// @name     _Get AHOD employees
// @match    *://YOUR_SERVER.COM/YOUR_PATH/*
// @require  https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant    GM_addStyle
// @grant    GM.getValue
// ==/UserScript==
//- The @grant directives are needed to restore the proper sandbox.
/* global $ */
/* eslint-disable no-multi-spaces */

var ahodNodes = $("span[data-akfk-type='event']:contains('AHOD')");
//-- Get the desired related text for each:
ahodNodes.each ( (J, zNode) => {
    var parentRow       = $(zNode).closest ("tr.iCalTblRow");
    var employeeCell    = parentRow.find (".iCalTblEmployeeCell");
    var employeeName    = employeeCell.text ().trim ();
    console.info ("employeeName: ", employeeName);
} );

/********************************************************************
******* EVERYTHING below this block is simulated target page. *******
******* It's NOT part of the userscript.                      *******
********************************************************************/
<script src = "//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table id = "iCalTbl" class = "groupCalendar">
<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow">
    <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" id = "[email protected]">
        <div class = "rowHeaderCell"><a href = "#" title = "Display employee details"
                data-akfk-type = "employee" id = "[email protected]">
                Clare</a>&nbsp;&nbsp;<img src = "images/flags/country/spain.png">
        </div>
    </td>
    <td data-dp-col = "1" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "2" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
    <td data-dp-col = "18" class = "tblCalendDailyViewMain iCalTblCellNow">.</td>
    <td data-dp-col = "19" class = "tblCalendDailyViewMain iCalTblCellNow">.</td>
    <!-- ... -->
    <td data-dp-col = "29" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "30" class = "tblCalendDailyViewMain">
        <div data-akfk-type = "cell" data-dp-employeeid = "[email protected]">
            <div class = "shiftlightblue eventDailyContainer" data-akfk-type = "eventContainer">
            <span id = "event_1601787" data-akfk-type = "event">AHOD</span></div>
        </div>
    </td>
    <td data-dp-col = "31" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
</tr>

<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow">
    <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" id = "[email protected]">
        <div class = "rowHeaderCell"><a href = "#" title = "Display employee details"
                data-akfk-type = "employee" id = "[email protected]">
            Sally</a>&nbsp;&nbsp;<img src = "images/flags/country/united_arab_emirates.png">
        </div>
    </td>
    <td data-dp-col = "1" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "2" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
    <td data-dp-col = "18" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "19" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
    <td data-dp-col = "29" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "30" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "31" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
</tr>
<tr id = "[email protected]_data_row" data-dp-employeeid = "[email protected]" class = "iCalTblRow">
    <td data-dp-col = "0" class = "iCalTblCell iCalTblEmployeeCell" id = "[email protected]">
        <div class = "rowHeaderCell"><a href = "#" title = "Display employee details"
            data-akfk-type = "employee" id = "[email protected]">Ivan</a>&nbsp;&nbsp;<img src = "images/flags/country/italy.png">
        </div>
    </td>
    <td data-dp-col = "1" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "2" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
    <td data-dp-col = "18" class = "tblCalendDailyViewMain iCalTblCellNow">.</td>
    <td data-dp-col = "19" class = "tblCalendDailyViewMain iCalTblCellNow">.</td>
    <!-- ... -->
    <td data-dp-col = "29" class = "tblCalendDailyViewMain">.</td>
    <td data-dp-col = "30" class = "tblCalendDailyViewMain">
        <div data-akfk-type = "cell" data-dp-employeeid = "[email protected]">
            <div class = "shiftlightblue eventDailyContainer" data-akfk-type = "eventContainer">
                <span id = "event_1601789" data-akfk-type = "event">
            AHOD</span></div>
        </div>
    </td>
    <td data-dp-col = "31" class = "tblCalendDailyViewMain">.</td>
    <!-- ... -->
</tr>
</table>

Для страниц, управляемых AJAX, переход прост:

// ==UserScript==
// @name     _Get AHOD employees
// @match    *://YOUR_SERVER.COM/YOUR_PATH/*
// @require  https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// @grant    GM.getValue
// ==/UserScript==
//- The @grant directives are needed to restore the proper sandbox.
/* global $, waitForKeyElements */
/* eslint-disable no-multi-spaces */

waitForKeyElements ("span[data-akfk-type='event']:contains('AHOD')", getEmployeeName);

function getEmployeeName (jNode) {
    var parentRow       = jNode.closest ("tr.iCalTblRow");
    var employeeCell    = parentRow.find (".iCalTblEmployeeCell");
    var employeeName    = employeeCell.text ().trim ();
    console.info ("employeeName: ", employeeName);
}

Я использовал этот код (см. Ниже), но также изучу другие предложения и постараюсь извлечь из них урок:

var results = '',
  trs = document.getElementsByTagName('tr');

for (var i = 0; i < trs.length; i++) {
  if (trs[i].innerHTML.indexOf('data-akfk-type = "event">AHOD') > -1) {
    results += trs[i].getElementsByTagName('a')[0].textContent + "\n";
  }
}

console.info("Results: \n" + results) 

Спасибо за вашу помощь, очень признателен.

Другие вопросы по теме

Как чередовать автоматическое нажатие 2 кнопок по ClassName в повторяющийся период времени?
Settimeout не работает должным образом, когда я пытался использовать его для обновления страницы
Как пользовательский скрипт Tampermonkey может отключить одну настройку CSS сайта?
Темный пользовательский скрипт Google не работает в Tampermonkey 4.7
Реализуйте clippyjs в Tampermonkey
Пользовательский скрипт Javascript - поиск и замена: текстовые узлы и HTML
Целевая страница изменяет свой URL без загрузки страницы браузера. Как сделать так, чтобы мой пользовательский скрипт запускался ТОЛЬКО на выбранной странице этого сайта?
Вставьте Div вверху страницы, сдвинув все вниз после вставки Div
Нужна помощь в выборе и изменении высоты идентификатора div в iFrame с помощью JQuery в пользовательском скрипте Tampermonkey
Добавление нового контроллера AngularJS на главную страницу с помощью пользовательского скрипта