2 or more item page structures accesible from one listing page

Hi,

there is a listing page (https://catalog.whartononline.upenn.edu/) which contains tombstone-links to "programs" or "courses". I want to scrape different items in case of each. My approach below differentiates between "programs" and "courses" but does not capture the link from href.

Can anyone help please? How should this be done properly?

Url: https://catalog.whartononline.upenn.edu/

Sitemap:
{"_id":"wharton-online-programs-and-courses","startUrl":["https://catalog.whartononline.upenn.edu/"],"selectors":[{"id":"program-link","type":"SelectorLink","parentSelectors":["_root"],"selector":"a.product-link div.program-tile","multiple":true,"delay":0},{"id":"course-link","type":"SelectorLink","parentSelectors":["_root"],"selector":"a.product-link div.course-tile","multiple":true,"delay":0},{"id":"program-name","type":"SelectorText","parentSelectors":["program-link"],"selector":"h2","multiple":false,"regex":"","delay":0},{"id":"program-overview","type":"SelectorText","parentSelectors":["program-link"],"selector":"#description p","multiple":false,"regex":"","delay":0},{"id":"program-price","type":"SelectorText","parentSelectors":["program-link"],"selector":".hero-action a","multiple":false,"regex":"","delay":0},{"id":"course-name","type":"SelectorText","parentSelectors":["course-link","course-link-from-program"],"selector":"h2","multiple":false,"regex":"","delay":0},{"id":"course-price","type":"SelectorText","parentSelectors":["course-link","course-link-from-program"],"selector":".hero-action a","multiple":false,"regex":"","delay":0},{"id":"course-description","type":"SelectorText","parentSelectors":["course-link","course-link-from-program"],"selector":"#description p","multiple":false,"regex":"","delay":0},{"id":"course-link-from-program","type":"SelectorLink","parentSelectors":["program-link"],"selector":".Product__AssociatedProductsListSpan a","multiple":true,"delay":0}]}