sclass GoogleSearch { Browser browser; S query; new MapSO urlParams; *(Browser *browser, S *query) {} L> search_uncached() { S url = appendParamsToURL("https://google.com/search", mapPlus(urlParams, q := query); print(url); temp var page = playwrightOpenPage(browser, url); L links1 = page.querySelectorAll("a[href]:has(h3)"); LPairS links = mapNonNulls(links1, l -> { S link = l.getAttribute("href"); if (!isAbsoluteURL(link)) null; ret pair(link, trim(htmlDecode_dropTags( l.querySelector("h3").innerHTML()))); }); ret map(links, l -> WithURL(l.a, l.b)); } }