Blue Prism — Разработчик приложений: Уникальные атрибуты для очистки веб-страниц

#html #screen-scraping

Вопрос:

Я новичок в Синей призме и очистке паутины. Я хочу очистить список элементов под заголовком. Заголовок не изменится, но элементы в списке изменятся.

Пример:

Список участников
Чарльз Шваб
ТД Америтрейд

Изменения в списке

Список участников
Ну Фарго
ТД Америтрейд

Итак, как мне гарантировать, что атрибуты в модуляторе приложений для списка всегда смогут удалять изменяющиеся элементы в списке?

Отмечу некоторые атрибуты, такие как
имя тега = пользовательского интерфейса
path=/HTML/BODY(1)/SGX-HEADER(1)/HTML/BODY(1)/DIV(1)/MAIN(1)/DIV(1)/ARTICLE(1)/TEMPLATE-BASE(1)/DIV(1)/DIV(1)/SECTION(1)/DIV(1)/SGX-WIDGETS-WRAPPER(1)/WIDGET-RICH-TEXT(5)/UL(1)

Что означают эти атрибуты? Спасибо

Комментарии:

1. Вы бы перечислили li в ul. Проблема возникнет, если что-то на более раннем этапе пути изменится.

2. @QHarr: Спасибо за ответ. Что означает число в скобках? Например, ВИДЖЕТ-ФОРМАТИРОВАННЫЙ ТЕКСТ(5). Я отмечаю в HTML-файле веб-сайта, что у них есть название класса и категория анализа данных. Не лучше ли иметь путь, который ссылается на имя класса и категорию data-analytics.?

3. Это 5-й дочерний тег ВИДЖЕТА С БОГАТЫМ ТЕКСТОМ.

4. @ QHarr: Что вы имеете в виду под тегом ребенка? Должен ли 1 тег РАСШИРЕННОГО ТЕКСТА ВИДЖЕТА быть встроен в другой, чтобы он был дочерним? <Класс ВИДЖЕТА-ОБОГАЩЕННОГО ТЕКСТА=’A’> <Класс ВИДЖЕТА-ОБОГАЩЕННОГО ТЕКСТА=’A’><Класс ВИДЖЕТА-ОБОГАЩЕННОГО ТЕКСТА=’B’> <Класс ВИДЖЕТА-ОБОГАЩЕННОГО ТЕКСТА=’B’></ВИДЖЕТ-ОБОГАЩЕННЫЙ ТЕКСТ></ВИДЖЕТ-ОБОГАЩЕННЫЙ ТЕКСТ></ВИДЖЕТ-ОБОГАЩЕННЫЙ ТЕКСТ>

5. Это 5-е место внутри SGX-WIDGETS-WRAPPER(1)

Ответ №1:

Вы можете создать динамический атрибут и убедиться, что он существует, прежде чем считывать его из приложения. Как только ваш модельер приложений будет настроен, он будет выглядеть примерно так

 path=/HTML/BODY(1)/SGX-HEADER(1)/HTML/BODY(1)/DIV(1)/MAIN(1)/DIV(1)/ARTICLE(1)/TEMPLATE-BASE(1)/DIV(1)/DIV(1)/SECTION(1)/DIV(1)/SGX-WIDGETS-WRAPPER(1)/WIDGET-RICH-TEXT(5)/UL(1)
 

при этом для этого поля установлено значение динамический. Во время выполнения у вас есть поток, который выглядит следующим образом:

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

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

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