Purpose
Extract the exact labels and corresponding values shown in a fund's table.table-small, including fund-specific wording for fields such as inception date and expense ratio.
When to Use
Use when the caller needs the displayed FUND DETAILS rows for a known fund ticker or URL slug, such as {fund-slug} = qvol.
Workflow
- Navigate directly to
https://infracapfund.com/{fund-slug}; the fund-page slug is typically the lowercase ticker. - In the same browser call, run this evaluator on the loaded page:
(() => {
const clean = (value) => (value || "").replace(/\\s+/g, " ").trim();
return Array.from(document.querySelectorAll("table.table-small tr"))
.map((row) =>
Array.from(row.querySelectorAll("th, td")).map((cell) =>
clean(cell.textContent),
),
)
.filter((cells) => cells.length >= 2 && cells.some(Boolean))
.map((cells) => ({
label: cells[0],
value: cells.slice(1).filter(Boolean).join(" "),
}));
})();Return the resulting array in displayed row order without normalizing or renaming labels.
Site-Specific Gotchas
- Fund pages use the non-
www, singular-host URL formhttps://infracapfund.com/{fund-slug}, while the fund directory observed in this run ishttps://www.infracapfunds.com/funds. - Use the table's first cell as the label and all remaining cells as the value; do not assume fixed labels or wording across funds.
- The stable table selector is
table.table-small; preserve the exact visible text because terminology can differ between funds.
Expected Output
An ordered JSON array of objects shaped as { "label": "...", "value": "..." }, containing every non-empty row from the fund's table.table-small.