Handle Tables with Multiple dot points in a row

I am trying to extra data about units of training from a government database. I know how to cycle through the unit links etc and land on the individual unit information page.

I am struggling with two things and have reviewed as much documentation as I can, but cannot seem to crack it.

URL:

  1. there is a table which lists two values, Elements & Performance criteria. Unfortunately 1 row contains a group set of values. I need to repeat the Elements value for each performance criteria in the output.


    IE the below

  2. There is a list called performance evidence that often has multiple indentations. I need to have the first level of dot points (ul class="ait13") be the parent, with each subsequent indentation being linked to it. For example the below snippet with ul class="ait13", ul class="ait14", ul class="ait31016"

Would output like below whereby it combines the 3 levels into one output row

Alternatively if each element needs to be outputted as a different column the below would also work

Just looking for someone to point me in the right direction or rule it out as a possibility. I have looked at the table function, and trying to code something with the individual elements but cannot figure it out!

Thanks

Sitemap:
{"_id":"unit-page-information","startUrl":["training.gov.au - Error td:nth-of-type(1)","type":"SelectorText"},{"delay":0,"id":"release","multiple":false,"parentSelectors":["performance-criteria-wrapper"],"regex":"","selector":"#tableTrainingPackges td.t-last","type":"SelectorText"},{"delay":0,"id":"asced-code","multiple":false,"parentSelectors":["performance-criteria-wrapper"],"regex":"","selector":"#tableClassifications td:nth-of-type(2)","type":"SelectorText"},{"delay":0,"id":"elements","multiple":true,"parentSelectors":["performance-criteria-wrapper"],"regex":"","selector":"table:nth-of-type(1) tr:nth-of-type(n+3) td[width='296']","type":"SelectorText"},{"delay":0,"id":"performance-criteria","multiple":true,"parentSelectors":["performance-criteria-wrapper"],"regex":"","selector":"td p.ait94","type":"SelectorText"},{"delay":0,"id":"performance-criteria-wrapper","multiple":true,"parentSelectors":["_root"],"selector":"body","type":"SelectorElement"},{"delay":0,"id":"knowledge-wrapper","multiple":true,"parentSelectors":["_root"],"selector":"body","type":"SelectorElement"},{"delay":0,"id":"knowledge-evidence","multiple":true,"parentSelectors":["knowledge-wrapper"],"regex":"","selector":"ul:nth-of-type(n+7) li","type":"SelectorText"}]}

You can do No. 1 with something like this, but you will need to sort final results:

{"_id":"training_gov","startUrl":["https://training.gov.au/Training/Details/SISOABS004"],"selectors":[{"id":"Row wrappers","parentSelectors":["_root"],"type":"SelectorElement","selector":"div#layoutContentWrapper table.ait-table:contains('Elements describe the essential') > tbody > tr:nth-of-type(n+3)","multiple":true,"delay":0},{"id":"Element","parentSelectors":["Row wrappers"],"type":"SelectorText","selector":"td:first-of-type","multiple":false,"regex":""},{"id":"Perff criteria","parentSelectors":["Row wrappers"],"type":"SelectorText","selector":"p","multiple":true,"regex":""}]}

Preview seems to show results in right order, so you might also be able to copy from there.