Чтение значения заголовка таблицы HTML в Adobe DTM

Я использую Adobe DTM и пытаюсь получить значение из таблицы (у меня нет контроля над этим форматом или именем), и я хотел бы получить значение «Открытая учетная запись» в приведенном ниже примере, но не уверен как это сделать в DTM? Я пытаюсь настроить таргетинг на "th.rich-table-headercell", но не знаю, как получить значение?

<table class="rich-table home table" id="startForm:OpenedReviewApps" border="1" cellpadding="0" cellspacing="0"> <colgroup span="0"></colgroup> <thead class="rich-table-thead"> <tr class="rich-table-header"> <th class="rich-table-headercell" scope="colgroup">Opened Accounts</th> </tr> </thead> <tbody id="startForm:OpenedReviewApps:tb"> <tr class="rich-table-row rich-table-firstrow"> <td class="rich-table-cell" id="startForm:Open" style="width:80%"> some data here </td> </tr> </tbody> </table>


person Michael Johns    schedule 22.09.2016    source источник


Ответы (1)


Может быть лучший способ сделать это, в зависимости от того, что/когда/где вы пытаетесь получить значение (например, правило загрузки страницы или правило, основанное на событии), но в целом, на основе вашего html, вот один из способов сделай это.

Перейдите в раздел Правила > Элементы данных и нажмите Создать новый элемент данных.

Назовите элемент данных, например, "table_header" или любое другое соглашение, которое вы используете в настоящее время.

В разделе Тип выберите "Селектор CSS".

Для цепочки выбора CSS используйте "th.rich-table-headercell" (без кавычек).

Чтобы получить значение, выберите "текст".

(Необязательно, но рекомендуется) Установите флажок Очищать пробелы и разрывы строк с помощью cleanText.

введите здесь описание изображения

Теперь, например, вы можете создать правило загрузки страницы и использовать %table_header% в своих условиях или полях переменных. Или, если вам нужно сослаться на него в javascript в пользовательском поле кода, используйте _satellite.getVar('table_header')

person Crayon Violent    schedule 22.09.2016
comment
Спасибо за ваш ответ, можете использовать th[class=rich-table-headercell]. Например, если у меня есть поле ввода с именем пользователя, будет ли цепочка селекторов CSS input.name? или введите [имя = имя пользователя]? большое спасибо. - person Sami; 21.09.2017
comment
@HussamEddin Для класса это не прямой эквивалент. Показанный мной пример будет выбирать, имеет ли элемент этот класс (но элемент может иметь и другие классы). Вы можете использовать этот альтернативный синтаксис для класса, если это единственный класс, который есть у элемента. Но вы не можете сделать input.name, потому что этот точечный синтаксис предназначен специально для значений класса, а не для атрибутов в целом. На самом деле это не конкретный вопрос DTM; это вопрос синтаксиса CSS (Selector) (например, что вы передадите document.querySelector() ). Поэтому, если вам нужна дополнительная информация об этом, изучите синтаксис CSS, а не DTM. - person Crayon Violent; 21.09.2017