Combining data and ignoring failed clicks

Namaste!

I am looking to scrape the teams behind some development projects from urban.com.au

In a project page, halfway down there are tabs for Developer, Architect, Builder...etc
Sometimes there are more, or fewer and sometimes there are more than one of each category.

Here is an exmaple (note 2x 'Architct' and 2x 'Interior Designer', and no 'Project Marketer')

This is the data I am getting;

The two problems I have are

  1. If a category isn't listed then the data is filled with the previous data, I would like it left blank.
  2. If there is more than one entry for any category, then I get two rows opf data, I would like one row with the two entries in the same cell separated by a comma.

Any help is greatly appreciated.

R.

This is what I have so far

{"_id":"Urban","startUrl":["7568 Off the Plan & New Apartments for Sale<!-- --> <!-- --> a","type":"SelectorLink"},{"clickActionType":"real","clickElementSelector":"button:contains('Developer')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","id":"ClickDeveloper","multiple":false,"parentSelectors":["items"],"selector":"div.col-span-2","type":"SelectorElementClick"},{"id":"Developer","multiple":false,"parentSelectors":["ClickDeveloper"],"regex":"","selector":"a.text-base","type":"SelectorText"},{"clickActionType":"real","clickElementSelector":"button:contains('Architect'):not(:contains('Landscape')):not(:contains('interior'))","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","id":"ClickArchitect","multiple":false,"parentSelectors":["items"],"selector":"div.col-span-2","type":"SelectorElementClick"},{"id":"Architect","multiple":true,"parentSelectors":["ClickArchitect"],"regex":"","selector":"a.text-base","type":"SelectorText"},{"clickActionType":"real","clickElementSelector":"button:contains('Builder')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","id":"ClickBuilder","multiple":false,"parentSelectors":["items"],"selector":"div.col-span-2","type":"SelectorElementClick"},{"id":"Builder","multiple":false,"parentSelectors":["ClickBuilder"],"regex":"","selector":"a.text-base","type":"SelectorText"},{"clickActionType":"real","clickElementSelector":"button:contains('Landscape Architect')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","id":"ClickLandscape","multiple":false,"parentSelectors":["items"],"selector":"div.col-span-2","type":"SelectorElementClick"},{"id":"Landscape Architect","multiple":false,"parentSelectors":["ClickLandscape"],"regex":"","selector":"a.text-base","type":"SelectorText"},{"clickActionType":"real","clickElementSelector":"button:contains('Interior Designer')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","id":"ClickInterior","multiple":false,"parentSelectors":["items"],"selector":"div.col-span-2","type":"SelectorElementClick"},{"clickActionType":"real","clickElementSelector":"button:contains('Project Marketer')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","id":"ClickMarketer","multiple":false,"parentSelectors":["items"],"selector":"div.col-span-2","type":"SelectorElementClick"},{"id":"Project Marketer","multiple":false,"parentSelectors":["ClickMarketer"],"regex":"","selector":"a.text-base","type":"SelectorText"},{"id":"Interior Designer","multiple":true,"parentSelectors":["ClickInterior"],"regex":"","selector":"a.text-base","type":"SelectorText"}]}

Hello,

To be clearer, I'd like the current result;

To look like this;

TIA!

R.

{"_id":"Urban","startUrl":["https://www.urban.com.au/new-apartments/trackside-house-moonee-valley-racecourse-moonee-ponds"],"selectors":[{"id":"items","parentSelectors":["_root"],"type":"SelectorLink","selector":".h-64 a","multiple":true,"linkType":"linkFromHref"},{"id":"ClickDeveloper","parentSelectors":["items"],"type":"SelectorElementClick","clickActionType":"real","clickElementSelector":"button:contains('Developer')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","multiple":false,"selector":"div.col-span-2"},{"id":"Developer","parentSelectors":["ClickDeveloper"],"type":"SelectorText","selector":"a.text-base","multiple":false,"regex":""},{"id":"ClickArchitect","parentSelectors":["items"],"type":"SelectorElementClick","clickActionType":"real","clickElementSelector":"button:contains('Architect'):not(:contains('Landscape')):not(:contains('interior'))","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","multiple":false,"selector":"div.col-span-2"},{"id":"Architect","parentSelectors":["ClickArchitect"],"type":"SelectorText","selector":"a.text-base","multiple":true,"regex":""},{"id":"ClickBuilder","parentSelectors":["items"],"type":"SelectorElementClick","clickActionType":"real","clickElementSelector":"button:contains('Builder')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","multiple":false,"selector":"div.col-span-2"},{"id":"Builder","parentSelectors":["ClickBuilder"],"type":"SelectorText","selector":"a.text-base","multiple":false,"regex":""},{"id":"ClickLandscape","parentSelectors":["items"],"type":"SelectorElementClick","clickActionType":"real","clickElementSelector":"button:contains('Landscape Architect')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","multiple":false,"selector":"div.col-span-2"},{"id":"Landscape Architect","parentSelectors":["ClickLandscape"],"type":"SelectorText","selector":"a.text-base","multiple":false,"regex":""},{"id":"ClickInterior","parentSelectors":["items"],"type":"SelectorElementClick","clickActionType":"real","clickElementSelector":"button:contains('Interior Designer')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","multiple":false,"selector":"div.col-span-2"},{"id":"ClickMarketer","parentSelectors":["items"],"type":"SelectorElementClick","clickActionType":"real","clickElementSelector":"button:contains('Project Marketer')","clickElementUniquenessType":"uniqueCSSSelector","clickType":"clickOnce","delay":10,"discardInitialElements":"discard-when-click-element-exists","multiple":false,"selector":"div.col-span-2"},{"id":"Project Marketer","parentSelectors":["ClickMarketer"],"type":"SelectorText","selector":"a.text-base","multiple":false,"regex":""},{"id":"Interior Designer","parentSelectors":["ClickInterior"],"type":"SelectorText","selector":"a.text-base","multiple":true,"regex":""}]}

Hi, any help here :pray:

Any tips no matter how small are very appreciated