--- id: "7d05b49d-b9cc-40d4-9ae4-1c277d57182c" name: "Degree Progress Report" micro_summary: "Launch DPR from Student Center, wait through PeopleSoft processing, then read requirement counts and image alt text inside the TargetContent iframe." status: "resolved" see_also: [] scope: "Open and inspect SFSU's PeopleSoft Degree Progress Report, including collapsed requirements and semantic status icons." warnings: "Do not treat blank status cells as missing data: read image alt/title and verify the requirement status separately from the course-row status." --- From Student Center's TargetContent document, click `#DERIVED_SSS_SCR_SSS_LINK_ANCHOR3` (`Degree Progress Report`). Wait until the iframe leaves `Processing Please wait`; the destination is the `CSU_FAC_GRAD.CSU_SS_DPR_ADB` component titled `My Academic Requirements`. Use iframe `body.innerText` for report headings, generated timestamp, expected graduation term, requirement IDs/counts, course rows, grades, and notes. Text extraction omits icon semantics, so inspect `img.alt`/`img.title`: - Requirement icons: `Complete`, `Not Complete`, `Currently in Progress`. - Course icons: `Taken`, `In Progress`. Collapsed sections use IDs such as `DERIVED_SAA_DPR_GROUPBOX1$...` and `DERIVED_SAA_DPR_GROUPBOX3$...`; their anchors expose `aria-expanded` plus titles beginning with `Expand section` or `Collapse section`. Click only the exact requirement needed, wait for processing, then inspect its local text and the matching `CSU_DA_LVL3_WK_CSU_DA_ICON_REF$...` image. For substitutions, preserve the requirement heading, course row, units, term, grade, Notes value, and semantic status together. Do not infer completion from a visible grade alone.