fossick covers the web-interaction stack that keeps coming up in Python and agent workflows: private local search, reading any page from a static blog to a JS-heavy SPA behind bot detection, and direct Chrome automation for authenticated sites, form filling, and multi-step flows.
The modules compose naturally.
search()
finds URLs;
fetch() reads
them — handling JavaScript rendering and anti-bot evasion automatically.
For YouTube, arXiv papers, or GitHub repos, dedicated readers return
structured data. When the page requires a real login session or
interactive interaction,
cdp_connect()
attaches to a running Chrome browser: pg.ax_tree() reads the page
state and pg.fill_text() / pg.click_and_wait() act on it.
uv add fossickSearch requires Docker. fossick starts SearXNG automatically on the
first call to
search().
search()
routes queries through a local SearXNG instance running in Docker.
Results are cached in Redis. No API key required, no requests leaving
your machine.
Call
searxng_start()
once at the top of each session — it starts the Docker container if
needed and persists the URL so future sessions skip startup.
search()
calls it automatically, but an explicit call avoids startup lag on the
first query.
Intent routing picks the right engine automatically. Two or more signals from a category are required before routing away from Google and Brave, so a single generic word does not send a query to the wrong engine.
searxng_start() # idempotent — returns immediately if already running'http://localhost:8080'
results = search('fasthtml python web framework', n=5, verify=False)
for r in results: print(r.title, r.url)FastHTML - Modern web applications in pure Python https://fastht.ml/
GitHub - AnswerDotAI/fasthtml: The fastest way to create an HTML app https://github.com/answerdotai/fasthtml
FastHTML: a hypermedia-first python framework w/htmx available ootb https://www.reddit.com/r/htmx/comments/1efizmn/fasthtml_a_hypermediafirst_python_framework_whtmx/
First encounter with FastHTML: Building a FastHTML assistant https://medium.com/@mrsirsh/first-encounter-with-fasthtml-building-a-fasthtml-assistant-fe896d3a3e60
FastHTML Tutorial: Build Modern Web Applications with Pure Python https://www.youtube.com/watch?v=AxA8YH_UyBo
fetch()
returns a page dict with the raw HTML, parsed JSON if the response was
JSON, and any XHR calls the page made.
to_md()
converts HTML to clean markdown, optionally narrowing to a CSS selector
first. Pass heavy=True for JavaScript-rendered pages or
stealthy=True for sites with anti-bot detection.
fossick also pulls transcripts and metadata from YouTube, papers and PDFs from arXiv, and files from GitHub repos.
# extract just the lead paragraphs — no nav, ads, or sidebars
page = fetch('https://en.wikipedia.org/wiki/Web_scraping', verify=False)
print(to_md(page, sel='.mw-parser-output > p')[:400])[2026-06-22 20:32:21] INFO: Fetched (200) <GET https://en.wikipedia.org/wiki/Web_scraping> (referer: https://www.google.com/)
crawl()
follows links from a start URL, returning a list of Page dicts — useful
for documentation sites, blogs, and any multi-page content.
pages = crawl('https://docs.python.org/3/library/functions.html',
follow_sel='a.reference.internal', same_domain=True, max_pages=3, verify=False)
print(f'{len(pages)} pages crawled')[2026-06-22 20:32:23] INFO: Fetched (200) <GET https://docs.python.org/3/library/functions.html> (referer: https://www.google.com/)
[2026-06-22 20:32:23] INFO: Fetched (200) <GET https://docs.python.org/3/reference/datamodel.html#object.__abs__> (referer: https://www.google.com/)
[2026-06-22 20:32:23] INFO: Fetched (200) <GET https://docs.python.org/3/glossary.html#term-asynchronous-iterator> (referer: https://www.google.com/)
3 pages crawled
fetch_all()
fetches multiple URLs in parallel — faster than sequential
fetch() calls.
urls = ['https://httpbin.org/get', 'https://httpbin.org/status/200', 'https://httpbin.org/json']
pages = fetch_all(urls, verify=False)
print([p.status for p in pages])[2026-06-22 20:32:26] INFO: Fetched (503) <GET https://httpbin.org/json> (referer: https://www.google.com/)
[2026-06-22 20:32:26] INFO: Fetched (503) <GET https://httpbin.org/get> (referer: https://www.google.com/)
[2026-06-22 20:32:26] INFO: Fetched (503) <GET https://httpbin.org/status/200> (referer: https://www.google.com/)
[503, 503, 503]
read_arxiv()
fetches paper metadata and converts the full PDF to markdown. Pass an
arxiv ID, abstract URL, or PDF URL. The PDF is saved to save_dir;
results are cached in-process.
paper = read_arxiv('2306.14881', save_dir='.', verify=False)
print(paper['title'])
print()
print(paper['summary'][:400])Modeling the molecular gas content and CO-to-H2 conversion factors in low-metallicity star-forming dwarf galaxies
Low-metallicity dwarf galaxies often show no or little CO emission, despite the intense star formation observed in local samples. Both simulations and resolved observations indicate that molecular gas in low-metallicity galaxies may reside in small dense clumps, surrounded by a substantial amount of more diffuse gas, not traced by CO. Constraining the relative importance of CO-bright versus CO-dar
read_gh_repo()
clones or fetches a GitHub repo and returns {path: content} for
matched files.
read_gh_file()
reads a single file from a GitHub blob URL.
files = read_gh_repo('https://github.com/vedicreader/kosha', globs=('README*',))
for path, content in files.items():
print(path.split('/')[-1], f'({len(content)} chars)')README.md (164718 chars)
txt = read_gh_file('https://github.com/vedicreader/kosha/blob/main/pyproject.toml')
print(txt[:300])[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "koshas"
dynamic = ["version"]
description = "kosha (कोश) — a treasury of your repo and environment context for coding agents. FTS5 + vector search + call graph, no LLMs required."
readme = "README.md"
requir
search_yt()
searches YouTube and returns metadata for each result.
read_yt()
fetches the full English transcript and metadata for a known video URL.
hits = search_yt('3blue1brown neural networks', n=3)
for h in hits: print(h['title'], '\n ', h['url'])But what is a neural network? | Deep learning chapter 1
https://www.youtube.com/watch?v=aircAruvnKk
Gradient descent, how neural networks learn | Deep Learning Chapter 2
https://www.youtube.com/watch?v=IHZwWFHWa-w
Backpropagation, intuitively | Deep Learning Chapter 3
https://www.youtube.com/watch?v=Ilg3gGewQ5U
video = read_yt('https://www.youtube.com/watch?v=aircAruvnKk')
print(video['title'])
print(video['source'][:300])But what is a neural network? | Deep learning chapter 1
[Music] This is a three. It's sloppily written and rendered at an extremely low resolution of 28x 28 pixels. But your brain has no trouble recognizing it as a three. And I want you to take a moment to appreciate how crazy it is that brains can do this so effortlessly. I mean this, this, and this are
path = download_yt('https://www.youtube.com/watch?v=aircAruvnKk',
format='audio', save_dir='.')
print(path) # Path('But what is a neural network.mp3')WARNING: [youtube] [jsc] Remote components challenge solver script (deno) and NPM package (deno) were skipped. These may be required to solve JS challenges. You can enable these downloads with --remote-components ejs:github (recommended) or --remote-components ejs:npm , respectively. For more information and alternatives, refer to https://github.com/yt-dlp/yt-dlp/wiki/EJS
WARNING: [youtube] aircAruvnKk: n challenge solving failed: Some formats may be missing. Ensure you have a supported JavaScript runtime and challenge solver script distribution installed. Review any warnings presented before this message. For more details, refer to https://github.com/yt-dlp/yt-dlp/wiki/EJS
But what is a neural network? | Deep learning chapter 1.mp3
url2nb()
converts any URL — HTML page, arXiv paper, or PDF — to a Jupyter
notebook.
pdf2nb()
converts a PDF (local path or URL) to a notebook where each page becomes
a markdown cell with an empty code cell below for annotations.
nb = url2nb('https://squiddev.medium.com/continuing-continuations-cps-in-python-47bba90c8d1e', verify=False)
print(nb) # Path('continuing-continuations-cps-in-python-47bba90c8d1e.ipynb')[2026-06-22 20:37:55] INFO: Fetched (200) <GET https://squiddev.medium.com/continuing-continuations-cps-in-python-47bba90c8d1e> (referer: https://www.google.com/)
continuing-continuations-cps-in-python-47bba90c8d1.ipynb
nb = pdf2nb('https://selfdeterminationtheory.org/SDT/documents/2000_RyanDeci_SDT.pdf', 'sdt.ipynb', verify=False)
print(nb) # Path('/path/to/sdt.ipynb')[2026-06-22 20:37:57] INFO: Fetched (200) <GET https://selfdeterminationtheory.org/SDT/documents/2000_RyanDeci_SDT.pdf> (referer: https://www.google.com/)
/Users/71293/code/personal/orgs/fossick/nbs/sdt.ipynb
Discover hidden APIs
Most modern sites serve their data through undocumented JSON APIs rather
than HTML.
find_xhr()
visits a page with a headless browser and captures every network call
the browser makes.
paginate_api()
replays the request across all pages and collects the results.
posts = paginate_api(
'https://jsonplaceholder.typicode.com/posts',
payload={'_page': 1, '_limit': 10},
page_field='_page',
size_field='_limit',
method='GET',
)
print(f'{len(posts)} posts collected')
print(posts[0]['title'])[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=1&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=2&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=3&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=4&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=5&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=6&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=7&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=8&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=9&_limit=10> (referer: https://www.google.com/)
[2026-05-28 16:37:16] INFO: Fetched (200) <GET https://jsonplaceholder.typicode.com/posts?_page=10&_limit=10> (referer: https://www.google.com/)
100 posts collected
sunt aut facere repellat provident occaecati excepturi optio reprehenderit
# on JavaScript-heavy sites, intercept the hidden API with a headless browser
# Woolworths uses a GraphQL endpoint — find_xhr captures whatever calls the page makes
apis = find_xhr('https://www.woolworths.com.au/shop/browse/fruit-veg', pattern='*woolworths.com.au/graphql*')
print(f'{len(apis)} GraphQL calls captured')
for a in apis:
data = a.get('data', {}).get('data', a.get('data', {}))
print(a['url'], list(data.keys()) if isinstance(data, dict) else type(data).__name__)[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/shop/browse/fruit-veg> (referer: https://www.google.com/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/apis/ui/settings> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/api/ui/v2/bootstrap> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (201) <GET https://www.woolworths.com.au/ZbnWGh/bzsy/4o7V/Z91V/IVtmZUtEk/z1D9kLGuuLOkth/GBAqNwE/CCVe/VHhbPWMB> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/auth/heartbeat> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/Shop/DynamicContent2Panel?scheduleKey=/shop/browse/fruit-veg-bottom> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/akam/13/pixel_7c8f4533> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/apis/ui/PiesCategoriesWithSpecials> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/apis/ui/CarouselProducts> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://dpm.demdex.net/id?d_visid_ver=5.5.0&d_fieldgroup=AAM&d_rtbd=json&d_ver=2&d_orgid=4353388057AC8D357F000101%40AdobeOrg&d_nsid=0&d_mid=79911006971859101769087842756079938574&ts=1779950011997> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://woolworthsfoodgroup.tt.omtrdc.net/rest/v1/delivery?client=woolworthsfoodgroup&sessionId=6d7dd35c357c4bc5899443d02236000a&version=2.10.1> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://woolworthsfoodgroup.tt.omtrdc.net/rest/v1/delivery?client=woolworthsfoodgroup&sessionId=6d7dd35c357c4bc5899443d02236000a&version=2.10.1> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://c.go-mpulse.net/api/config.json?key=LUX5F-TAXLZ-RZV9P-BT522-JCQBY&d=www.woolworths.com.au&t=5933167&v=1.792.80&sl=0&si=1af4e374-018a-4eb6-a2cd-9036acda867a-tfqi7v&plugins=AK,ConfigOverride,Continuity,PageParams,AutoXHR,SPA,History,Angular,Backbone,Ember,RT,PaintTiming,NavigationTiming,ResourceTiming,Memory,Akamai,EventTiming,BFCache,LOGN&acao=&ak.ai=249936> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://cdn0.woolworths.media/wowssr/assets/tga-sku.json> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (201) <GET https://www.woolworths.com.au/ZbnWGh/bzsy/4o7V/Z91V/IVtmZUtEk/z1D9kLGuuLOkth/GBAqNwE/CCVe/VHhbPWMB> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/apis/ui/browse/category> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/shop/__embedded/browse/fruit-veg?HasTobaccoItems=false> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://cdn0.woolworths.media/wowssr/syd2/a10/browser/assets/navigation/chevron-right.svg> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://cdn0.woolworths.media/wowssr/syd2/a10/browser/assets/navigation/chevron-right.svg> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://api.woolworthsrewards.com.au/cx/nhp/availability/offers/v1/check/adType> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://ct.pinterest.com/user/?event=viewcategory&ed=%7B%22page_name%22%3A%22ww-sm%3Ashop%3Abrowse%3Afruit-veg%22%2C%22page_type%22%3A%22Browse%22%2C%22event%22%3A%22category_view%22%7D&tid=2614249904607&cb=1779950013056&dep=2%2CPAGE_LOAD> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://ct.pinterest.com/user/?event=viewcategory&ed=%7B%22page_name%22%3A%22ww-sm%3Ashop%3Abrowse%3Afruit-veg%22%2C%22page_type%22%3A%22Browse%22%2C%22event%22%3A%22category_view%22%7D&tid=2614249904607&cb=1779950013059&dep=5%2CEVENT_TAGS_ABSENT> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://collect-ap-southeast-2.tealiumiq.com/woolworths/main/2/i.gif> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://api.woolworthsrewards.com.au/cx/nhp/availability/offers/v1/check/adType> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://api.woolworthsrewards.com.au/cx/nhp/availability/offers/v1/check/adType> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://api.woolworthsrewards.com.au/cx/nhp/availability/offers/v1/check/adType> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://woolworthsfoodgroup.sc.omtrdc.net/b/ss/wfg-wx-global-prod/1/JS-2.23.0/s02037651164270> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://acs.woolworths.com.au/rest/v1/delivery?client=woolworthsfoodgroup&sessionId=6d7dd35c357c4bc5899443d02236000a&version=2.10.2> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://acs.woolworths.com.au/rest/v1/delivery?client=woolworthsfoodgroup&sessionId=6d7dd35c357c4bc5899443d02236000a&version=2.10.2> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://cdn0.woolworths.media/wowssr/assets/tga-sku.json> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://acs.woolworths.com.au/rest/v1/delivery?client=woolworthsfoodgroup&sessionId=6d7dd35c357c4bc5899443d02236000a&version=2.10.2> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://acs.woolworths.com.au/rest/v1/delivery?client=woolworthsfoodgroup&sessionId=6d7dd35c357c4bc5899443d02236000a&version=2.10.2> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://ct.pinterest.com/v3/?event=viewcategory&ed=%7B%22page_name%22%3A%22ww-sm%3Ashop%3Abrowse%3Afruit-veg%22%2C%22page_type%22%3A%22Browse%22%2C%22event%22%3A%22category_view%22%7D&tid=2614249904607&cb=1779950013487&dep=5%2CEVENT_TAGS_ABSENT&pd=%7B%22pin_unauth%22%3A%22dWlkPVpERTNabU0yTldVdE1tSmtOUzAwTmpNd0xUa3hOVFV0TnpRek5EWmpPR05qWVRSaw%22%7D&ad=%7B%22loc%22%3A%22https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg%22%2C%22ref%22%3A%22https%3A%2F%2Fwww.google.com%2F%22%2C%22if%22%3Afalse%2C%22sh%22%3A720%2C%22sw%22%3A1280%2C%22mh%22%3A%22948ee93e%22%2C%22is_eu%22%3Afalse%2C%22architecture%22%3A%22x86%22%2C%22bitness%22%3A%2264%22%2C%22brands%22%3A%5B%7B%22brand%22%3A%22Chromium%22%2C%22version%22%3A%22147%22%7D%2C%7B%22brand%22%3A%22Not.A%2FBrand%22%2C%22version%22%3A%228%22%7D%5D%2C%22mobile%22%3Afalse%2C%22model%22%3A%22%22%2C%22platform%22%3A%22macOS%22%2C%22platformVersion%22%3A%2210.15.7%22%2C%22uaFullVersion%22%3A%22147.0.7727.15%22%2C%22ecm_enabled%22%3Atrue%7D> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/apis/ui/PiesCategoriesWithSpecials> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (204) <GET https://analytics.google.com/g/collect?v=2&tid=G-YBVRJYN9JL>m=45je65r0h2v878538926za200zd878538926&_p=1779950012256&_gaz=1&gcd=13l3l3l3l1l1&npa=0&dma=0&gdid=dYmQxMT&_eu=AAAAAGA&are=1&cid=1692319501.1779950014&frm=0&lps=1&pscdl=noapi&rcb=11&sr=1280x720&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uam=&uamb=0&uap=macOS&uapv=10.15.7&uaw=0&ul=en-gb&gaf=2&_s=1&tag_exp=0~115938466~115938468&sid=1779950013&sct=1&seg=0&dl=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&dr=https%3A%2F%2Fwww.google.com%2F&dt=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&en=page_view&_fv=1&_nsi=1&_ss=2&_ee=1&ep.tealium_event=category_view&ep.cart_value=0&ep.collect_event=true&ep.filter_sort_by=Relevance&ep.tile_id=1%2C2%2C3%2C0%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C23%2C24%2C25%2C26%2C27%2C28%2C29%2C30%2C31%2C32%2C33%2C34%2C35%2C36%2C37%2C38%2C39%2C40%2C41%2C42%2C43&ep.tealium_visitor_id=019e6d49c759001da3b4760abd0b05075003306d007e8&ep.site_section=shop%3Abrowse&ep.site_name=ww-sm&ep.pfd_items_in_cart=false&ep.page_type=Browse&ep.page_number=1&ep.item_count=44&ep.item_unavailable_count=44&ep.item_min_days_to_delivery=none%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone&ep.item_max_days_to_delivery=none%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone%2Cnone&epn.first_contentful_paint_all=612&epn.first_contentful_paint_first=612&epn.first_paint_all=528&epn.first_paint_first=528&up.store_id=3221&tfd=2993> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (204) <GET https://analytics.google.com/g/collect?v=2&tid=G-YBVRJYN9JL>m=45je65r0h2v878538926za200zd878538926&_p=1779950012256&gcd=13l3l3l3l1l1&npa=0&dma=0&gdid=dYmQxMT&_eu=AAAAAGQ&are=1&cid=1692319501.1779950014&frm=0&lps=1&pscdl=noapi&rcb=11&sr=1280x720&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uam=&uamb=0&uap=macOS&uapv=10.15.7&uaw=0&ul=en-gb&gaf=2&_s=2&tag_exp=0~115938466~115938468&sid=1779950013&sct=1&seg=0&dl=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&dr=https%3A%2F%2Fwww.google.com%2F&dt=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&tfd=2997> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (204) <GET https://bat.bing.com/p/insights/c/k> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/apis/ui/products/829107,381923,120080,139238,259450,265225,187314,154340,262783,134681,702151,54899,318163,134034,524336,318290,210687,193753,139645,139897?excludeUnavailable=true> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/graphql> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.google.com/rmkt/collect/969624659/?random=1779950014085&cv=11&fst=1779950014085&fmt=8&bg=ffffff&guid=ON&async=1&en=gtag.config>m=45be65r0h2v9207916595za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115616985~115938466~115938469~116701382&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&data=event%3Dgtag.config&gcp=5> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.google.com/rmkt/collect/706996958/?random=1779950014157&cv=11&fst=1779950014157&fmt=8&bg=ffffff&guid=ON&async=1&en=gtag.config>m=45be65r0h2v894961105za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115938466~115938469~116701382~118228215&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=17&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&_tu=IA&data=event%3Dgtag.config&gcp=5> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://securepubads.g.doubleclick.net/gampad/ads?pvsid=6705090101095288&correlator=2894177363389820&eid=31097658%2C31098733%2C31065644%2C31087490%2C95391587&output=ldjh&gdfp_req=1&vrg=202605210101&ptt=17&impl=fif&iu_parts=22073989984%2Cwoolworths%2Cfruit-veg&enc_prev_ius=%2F0%2F1%2F2&prev_iu_szs=1600x200&ifi=1&dids=ad-unit-496500&adfs=2652548239&sfv=1-0-45&sc=1&cookie_enabled=1&abxe=1&dt=1779950014226&lmt=1779950014&adxs=57&adys=221&biw=1280&bih=720&scr_x=0&scr_y=0&btvi=0&ucis=1&oid=2&u_his=2&u_h=720&u_w=1280&u_ah=720&u_aw=1280&u_cd=24&u_sd=2&u_tz=600&dmc=32&bc=31&nvt=1&uach=WyJtYWNPUyIsIjEwLjE1LjciLCJ4ODYiLCIiLCIxNDcuMC43NzI3LjE1IixudWxsLDAsbnVsbCwiNjQiLFtbIkNocm9taXVtIiwiMTQ3LjAuNzcyNy4xNSJdLFsiTm90LkEvQnJhbmQiLCI4LjAuMC4wIl1dLDBd&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&vis=1&psz=1167x0&msz=1167x0&fws=4&ohw=1280&dlt=1779950011072&idt=3115&prev_scp=InventoryType%3DBanner&adks=3579162148&frm=20&eoidce=1&pgls=CAk.~CAo.> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.google.com/ccm/collect?rcb=1&frm=0&auid=1550109597.1779950014&dt=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&en=page_view&dr=www.google.com&dl=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&scrsrc=www.googletagmanager.com&lps=1&rnd=295323522.1779950014&navt=n&npa=0&did=dYmQxMT&gdid=dYmQxMT>m=45be65r0h2v9207916595za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115616985~115938466~115938469~116701382&apve=1&apvf=f&apvc=1&tids=AW-969624659&tid=AW-969624659&tft=1779950014102&tfd=3358> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.google.com/ccm/collect?rcb=18&frm=0&auid=1550109597.1779950014&dt=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&en=page_view&dr=www.google.com&dl=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&scrsrc=www.googletagmanager.com&lps=1&rnd=295323522.1779950014&navt=n&npa=0&gdid=dYmQxMT>m=45fe65r0h2v9181639601za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115938466~115938469~116701382~118689382&apve=1&apvf=f&apvc=0&tids=DC-8348316&tid=DC-8348316&tft=1779950014133&tfd=3389> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.google.com/ccm/collect?rcb=17&frm=0&auid=1550109597.1779950014&dt=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&en=page_view&dr=www.google.com&dl=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&scrsrc=www.googletagmanager.com&lps=1&rnd=295323522.1779950014&navt=n&npa=0&did=dYmQxMT&gdid=dYmQxMT&_tu=IA>m=45be65r0h2v894961105za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115938466~115938469~116701382~118228215&apve=1&apvf=f&apvc=0&tids=AW-706996958&tid=AW-706996958&tft=1779950014170&tfd=3426> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://securepubads.g.doubleclick.net/gampad/ads?pvsid=6705090101095288&correlator=2894177363389820&eid=31097658%2C31098733%2C31065644%2C31087490%2C95391587&output=ldjh&gdfp_req=1&vrg=202605210101&ptt=17&impl=fif&iu_parts=22073989984%2Ccontent-card%2Cfruit-veg&enc_prev_ius=%2F0%2F1%2F2&prev_iu_szs=320x50&fluid=height&ifi=2&dids=ad-unit-1952885819&adfs=208333102&sfv=1-0-45&sc=1&cookie_enabled=1&abxe=1&dt=1779950014233&lmt=1779950014&adxs=56&adys=3517&biw=1280&bih=720&scr_x=0&scr_y=0&btvi=1&ucis=2&oid=2&u_his=2&u_h=720&u_w=1280&u_ah=720&u_aw=1280&u_cd=24&u_sd=2&u_tz=600&dmc=32&bc=31&nvt=1&uach=WyJtYWNPUyIsIjEwLjE1LjciLCJ4ODYiLCIiLCIxNDcuMC43NzI3LjE1IixudWxsLDAsbnVsbCwiNjQiLFtbIkNocm9taXVtIiwiMTQ3LjAuNzcyNy4xNSJdLFsiTm90LkEvQnJhbmQiLCI4LjAuMC4wIl1dLDBd&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&vis=1&psz=224x392&msz=224x392&fws=4&ohw=1280&dlt=1779950011072&idt=3115&prev_scp=InventoryType%3DContent%2520Card&adks=1961169011&frm=20&eoidce=1&pgls=CAk.~CAo.> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.googleadservices.com/pagead/set_partitioned_cookie?rcb=1&frm=0&apvc=1&auid=1550109597.1779950014&dt=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&tid=AW-969624659&en=page_view&ref=www.google.com&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&scrsrc=www.googletagmanager.com&lps=1&rnd=295323522.1779950014&navt=n&npa=0&did=dYmQxMT&gdid=dYmQxMT>m=45be65r0h2v9207916595za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115616985~115938466~115938469~116701382&tft=1779950014091&tfd=3347&apve=1&apvf=f> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.googleadservices.com/pagead/conversion/969624659/?random=1779950014099&cv=11&fst=1779950014099&fmt=7&bg=ffffff&guid=ON&async=1&en=conversion>m=45be65r0h2v9207916595za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115616985~115938466~115938469~116701382&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=1&label=c7avCOOr79EBENOYrc4D&capi=1>m_ee=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&value=1&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&gcl_ctr=1~0~0~0&data=event%3Dconversion&category=acrcp_v1_512> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.googleadservices.com/pagead/conversion/706996958/?random=1779950014167&cv=11&fst=1779950014167&fmt=7&bg=ffffff&guid=ON&async=1&en=conversion>m=45be65r0h2v894961105za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115938466~115938469~116701382~118228215&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=17&label=oQFKCJCy0dQBEN7Vj9EC&capi=1>m_ee=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&value=1&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&ec_mode=a&gcl_ctr=2~0~0~0&data=event%3Dconversion&category=acrcp_v1_512&em=tv.1> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://acs.woolworths.com.au/rest/v1/delivery?client=woolworthsfoodgroup&sessionId=6d7dd35c357c4bc5899443d02236000a&version=2.10.2> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://acs.woolworths.com.au/rest/v1/delivery?client=woolworthsfoodgroup&sessionId=6d7dd35c357c4bc5899443d02236000a&version=2.10.2> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Response body is unavailable for redirect responses
[2026-05-28 16:34:05] INFO: Fetched (302) <GET https://ad.doubleclick.net/activity;src=8348316;type=supcat;cat=supcfv;rcb=18;ord=7098498947355;npa=0;auiddc=1550109597.1779950014;u4=%2Fshop%2Fbrowse%2Ffruit-veg;u9=381923%2C785544%2C948491%2C%2C948511%2C133211%2C134034%2C141410%2C105919%2C120080%2C144329%2C781403%2C781401%2C948507%2C208895%2C157649%2C134681%2C137130%2C135306%2C170225%2C147071%2C135344%2C144607%2C829107%2C144497%2C130935%2C135369%2C165262%2C187314%2C169067%2C259450%2C149620%2C137102%2C155003%2C154340%2C138801%2C169438%2C259514%2C524322%2C267084%2C147603%2C149864%2C144336%2C139238;u10=%2Fshop%2Fproductdetails%2F381923%2Fkanzi-apple%2C%2Fshop%2Fproductdetails%2F785544%2Fkanzi-apple-punnet%2C%2Fshop%2Fproductdetails%2F948491%2Fgourmet-garden-cold-blend-pastes-garlic%2C%2Fshop%2Fproductdetails%2Fundefined%2Fundefined%2C%2Fshop%2Fproductdetails%2F948511%2Fgourmet-garden-paste-ginger%2C%2Fshop%2Fproductdetails%2F133211%2Fcavendish-bananas%2C%2Fshop%2Fproductdetails%2F134034%2Fgourmet-tomato%2C%2Fshop%2Fproductdetails%2F141410%2Fmandarin-imperial%2C%2Fshop%2Fproductdetails%2F105919%2Ffresh-pink-lady-apples%2C%2Fshop%2Fproductdetails%2F120080%2Fhass-avocado%2C%2Fshop%2Fproductdetails%2F144329%2Fonion-brown%2C%2Fshop%2Fproductdetails%2F781403%2Fgourmet-garden-parsley-lightly-dried-sachet%2C%2Fshop%2Fproductdetails%2F781401%2Fgourmet-garden-basil-lightly-dried-sachet%2C%2Fshop%2Fproductdetails%2F948507%2Fgourmet-garden-paste-chilli-mild%2C%2Fshop%2Fproductdetails%2F208895%2Fpotato-white-washed%2C%2Fshop%2Fproductdetails%2F157649%2Feat-later-cavendish-bananas%2C%2Fshop%2Fproductdetails%2F134681%2Ffresh-broccoli%2C%2Fshop%2Fproductdetails%2F137130%2Flebanese-cucumbers%2C%2Fshop%2Fproductdetails%2F135306%2Fred-capsicum%2C%2Fshop%2Fproductdetails%2F170225%2Ffresh-zucchini-green%2C%2Fshop%2Fproductdetails%2F147071%2Fsweet-potato-gold%2C%2Fshop%2Fproductdetails%2F135344%2Fcarrot-fresh%2C%2Fshop%2Fproductdetails%2F144607%2Fstrawberries-punnet%2C%2Fshop%2Fproductdetails%2F829107%2Fmandarin-amorette-seedless%2C%2Fshop%2Fproductdetails%2F144497%2Fonion-red%2C%2Fshop%2Fproductdetails%2F130935%2Ffresh-granny-smith-apples%2C%2Fshop%2Fproductdetails%2F135369%2Fwoolworths-australian-grown-carrots%2C%2Fshop%2Fproductdetails%2F165262%2Fdriscoll-s-raspberries-punnet%2C%2Fshop%2Fproductdetails%2F187314%2Fwoolworths-broccolini-bunch%2C%2Fshop%2Fproductdetails%2F169067%2Fwoolworths-qukes-baby-cucumbers-punnet%2C%2Fshop%2Fproductdetails%2F259450%2Forange-navel%2C%2Fshop%2Fproductdetails%2F149620%2Fwoolworths-cherry-tomatoes-punnet%2C%2Fshop%2Fproductdetails%2F137102%2Fwoolworths-continental-cucumbers%2C%2Fshop%2Fproductdetails%2F155003%2Fapple-royal-gala%2C%2Fshop%2Fproductdetails%2F154340%2Ficeberg-lettuce%2C%2Fshop%2Fproductdetails%2F138801%2Fwhite-seedless-grapes-bag-approx-900g%2C%2Fshop%2Fproductdetails%2F169438%2Ftruss-tomatoes%2C%2Fshop%2Fproductdetails%2F259514%2Flemon-loose%2C%2Fshop%2Fproductdetails%2F524322%2Fwoolworths-baby-leaf-spinach%2C%2Fshop%2Fproductdetails%2F267084%2Fwoolworths-sungold-kiwifruit-gold%2C%2Fshop%2Fproductdetails%2F147603%2Fspring-onion-bunch%2C%2Fshop%2Fproductdetails%2F149864%2Ftomato-roma-red%2C%2Fshop%2Fproductdetails%2F144336%2Fwoolworths-onion-brown-bag%2C%2Fshop%2Fproductdetails%2F139238%2Fkiwi-fruit-green;u11=1.03%2C5.90%2C4.00%2C0.00%2C4.00%2C0.81%2C0.65%2C0.53%2C1.31%2C2.00%2C0.63%2C4.00%2C4.00%2C4.00%2C0.95%2C0.81%2C1.49%2C1.53%2C2.48%2C1.18%2C1.56%2C0.36%2C0.00%2C0.47%2C0.89%2C1.31%2C1.70%2C4.50%2C3.70%2C3.00%2C1.29%2C3.20%2C2.70%2C1.26%2C3.30%2C6.00%2C1.25%2C1.56%2C3.30%2C1.53%2C3.00%2C0.80%2C3.60%2C0.96;gdid=dYmQxMT;uaa=x86;uab=64;uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0;uamb=0;uam=;uap=macOS;uapv=10.15.7;uaw=0;pscdl=noapi;frm=0;_tu=IFA;gtm=45fe65r0h2v9181639601za200zb878538926zd878538926xec;gcd=13l3l3l3l1l1;dma=0;dc_fmt=6;tag_exp=0~115938466~115938469~116701382~118689382;epver=2;dc_random=1779950014_Zyp9TjrtzrtIKjfB1hqW4ZEz6dJUB74mLA;~oref=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg?> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://adservice.google.com/ddm/fls/z/src=8348316;type=supcat;cat=supcfv;rcb=18;ord=7098498947355;npa=0;auiddc=*;u4=%2Fshop%2Fbrowse%2Ffruit-veg;u9=381923%2C785544%2C948491%2C%2C948511%2C133211%2C134034%2C141410%2C105919%2C120080%2C144329%2C781403%2C781401%2C948507%2C208895%2C157649%2C134681%2C137130%2C135306%2C170225%2C147071%2C135344%2C144607%2C829107%2C144497%2C130935%2C135369%2C165262%2C187314%2C169067%2C259450%2C149620%2C137102%2C155003%2C154340%2C138801%2C169438%2C259514%2C524322%2C267084%2C147603%2C149864%2C144336%2C139238;u10=%2Fshop%2Fproductdetails%2F381923%2Fkanzi-apple%2C%2Fshop%2Fproductdetails%2F785544%2Fkanzi-apple-punnet%2C%2Fshop%2Fproductdetails%2F948491%2Fgourmet-garden-cold-blend-pastes-garlic%2C%2Fshop%2Fproductdetails%2Fundefined%2Fundefined%2C%2Fshop%2Fproductdetails%2F948511%2Fgourmet-garden-paste-ginger%2C%2Fshop%2Fproductdetails%2F133211%2Fcavendish-bananas%2C%2Fshop%2Fproductdetails%2F134034%2Fgourmet-tomato%2C%2Fshop%2Fproductdetails%2F141410%2Fmandarin-imperial%2C%2Fshop%2Fproductdetails%2F105919%2Ffresh-pink-lady-apples%2C%2Fshop%2Fproductdetails%2F120080%2Fhass-avocado%2C%2Fshop%2Fproductdetails%2F144329%2Fonion-brown%2C%2Fshop%2Fproductdetails%2F781403%2Fgourmet-garden-parsley-lightly-dried-sachet%2C%2Fshop%2Fproductdetails%2F781401%2Fgourmet-garden-basil-lightly-dried-sachet%2C%2Fshop%2Fproductdetails%2F948507%2Fgourmet-garden-paste-chilli-mild%2C%2Fshop%2Fproductdetails%2F208895%2Fpotato-white-washed%2C%2Fshop%2Fproductdetails%2F157649%2Feat-later-cavendish-bananas%2C%2Fshop%2Fproductdetails%2F134681%2Ffresh-broccoli%2C%2Fshop%2Fproductdetails%2F137130%2Flebanese-cucumbers%2C%2Fshop%2Fproductdetails%2F135306%2Fred-capsicum%2C%2Fshop%2Fproductdetails%2F170225%2Ffresh-zucchini-green%2C%2Fshop%2Fproductdetails%2F147071%2Fsweet-potato-gold%2C%2Fshop%2Fproductdetails%2F135344%2Fcarrot-fresh%2C%2Fshop%2Fproductdetails%2F144607%2Fstrawberries-punnet%2C%2Fshop%2Fproductdetails%2F829107%2Fmandarin-amorette-seedless%2C%2Fshop%2Fproductdetails%2F144497%2Fonion-red%2C%2Fshop%2Fproductdetails%2F130935%2Ffresh-granny-smith-apples%2C%2Fshop%2Fproductdetails%2F135369%2Fwoolworths-australian-grown-carrots%2C%2Fshop%2Fproductdetails%2F165262%2Fdriscoll-s-raspberries-punnet%2C%2Fshop%2Fproductdetails%2F187314%2Fwoolworths-broccolini-bunch%2C%2Fshop%2Fproductdetails%2F169067%2Fwoolworths-qukes-baby-cucumbers-punnet%2C%2Fshop%2Fproductdetails%2F259450%2Forange-navel%2C%2Fshop%2Fproductdetails%2F149620%2Fwoolworths-cherry-tomatoes-punnet%2C%2Fshop%2Fproductdetails%2F137102%2Fwoolworths-continental-cucumbers%2C%2Fshop%2Fproductdetails%2F155003%2Fapple-royal-gala%2C%2Fshop%2Fproductdetails%2F154340%2Ficeberg-lettuce%2C%2Fshop%2Fproductdetails%2F138801%2Fwhite-seedless-grapes-bag-approx-900g%2C%2Fshop%2Fproductdetails%2F169438%2Ftruss-tomatoes%2C%2Fshop%2Fproductdetails%2F259514%2Flemon-loose%2C%2Fshop%2Fproductdetails%2F524322%2Fwoolworths-baby-leaf-spinach%2C%2Fshop%2Fproductdetails%2F267084%2Fwoolworths-sungold-kiwifruit-gold%2C%2Fshop%2Fproductdetails%2F147603%2Fspring-onion-bunch%2C%2Fshop%2Fproductdetails%2F149864%2Ftomato-roma-red%2C%2Fshop%2Fproductdetails%2F144336%2Fwoolworths-onion-brown-bag%2C%2Fshop%2Fproductdetails%2F139238%2Fkiwi-fruit-green;u11=1.03%2C5.90%2C4.00%2C0.00%2C4.00%2C0.81%2C0.65%2C0.53%2C1.31%2C2.00%2C0.63%2C4.00%2C4.00%2C4.00%2C0.95%2C0.81%2C1.49%2C1.53%2C2.48%2C1.18%2C1.56%2C0.36%2C0.00%2C0.47%2C0.89%2C1.31%2C1.70%2C4.50%2C3.70%2C3.00%2C1.29%2C3.20%2C2.70%2C1.26%2C3.30%2C6.00%2C1.25%2C1.56%2C3.30%2C1.53%2C3.00%2C0.80%2C3.60%2C0.96;gdid=dYmQxMT;uaa=x86;uab=64;uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0;uamb=0;uam=;uap=macOS;uapv=10.15.7;uaw=0;pscdl=noapi;frm=0;_tu=IFA;gtm=45fe65r0h2v9181639601za200zb878538926zd878538926xec;gcd=13l3l3l3l1l1;dma=0;dc_fmt=6;tag_exp=0~115938466~115938469~116701382~118689382;epver=2;dc_random=1779950014_Zyp9TjrtzrtIKjfB1hqW4ZEz6dJUB74mLA;~oref=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Response body is unavailable for redirect responses
[2026-05-28 16:34:05] INFO: Fetched (302) <GET https://googleads.g.doubleclick.net/pagead/viewthroughconversion/969624659/?random=1642705173&cv=11&fst=1779950014099&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion>m=45be65r0h2v9207916595za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115616985~115938466~115938469~116701382&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=1&label=c7avCOOr79EBENOYrc4D&capi=1>m_ee=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&value=1&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&gcl_ctr=1~0~0~0&data=event%3Dconversion&category=acrcp_v1_512&ct_cookie_present=false&crd=CLTesQII8t-xAgit4bECCKG4sQIIscGxAgiwwbECCLHDsQIIisWxAgjCybECCLTGsQIIk9qxAgjb3LECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgj02rECCJfUsQIIyduxAgjU5rECCLHhsQIIs-GxAgim3bECCLDesQIIgNuxAkoZdHJpZ2dlcj1uYXZpZ2F0aW9uLXNvdXJjZVoDCgEBYgMKAQM&cerd=CgTbib4t&fsk=ChAI8Kza0AYQn--F9POI5p4NEiwAPzTlhobfHYtttOOJTBc6uSC3s125TuRVBtghkEkbBuRObgtSNn2SWGquExoC7W8&pscrd=IhMIpofOwq7blAMVosiEAB2AIBfGOh5odHRwczovL3d3dy53b29sd29ydGhzLmNvbS5hdS9CV0NoRUk4S3phMEFZUXg4TEJ3djdPOTVUekFSSXNBRDBuQWVUWkkxTktlZlZ2Vmh6Q0NOR1RUdEFDZWFNUjlrNC1XMU5ySktGcUFXWURZUWVZb205bmJDd3oMCAliCAgAEAAYACAA> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Response body is unavailable for redirect responses
[2026-05-28 16:34:05] INFO: Fetched (302) <GET https://www.google.com/pagead/1p-conversion/969624659/?random=1642705173&cv=11&fst=1779950014099&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion>m=45be65r0h2v9207916595za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115616985~115938466~115938469~116701382&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=1&label=c7avCOOr79EBENOYrc4D&capi=1>m_ee=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&value=1&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&gcl_ctr=1~0~0~0&data=event%3Dconversion&category=acrcp_v1_512&ct_cookie_present=false&crd=CLTesQII8t-xAgit4bECCKG4sQIIscGxAgiwwbECCLHDsQIIisWxAgjCybECCLTGsQIIk9qxAgjb3LECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgj02rECCJfUsQIIyduxAgjU5rECCLHhsQIIs-GxAgim3bECCLDesQIIgNuxAkoZdHJpZ2dlcj1uYXZpZ2F0aW9uLXNvdXJjZVoDCgEBYgMKAQM&cerd=CgTbib4t&fsk=ChAI8Kza0AYQn--F9POI5p4NEiwAPzTlhobfHYtttOOJTBc6uSC3s125TuRVBtghkEkbBuRObgtSNn2SWGquExoC7W8&pscrd=IhMIpofOwq7blAMVosiEAB2AIBfGOh5odHRwczovL3d3dy53b29sd29ydGhzLmNvbS5hdS9CV0NoRUk4S3phMEFZUXg4TEJ3djdPOTVUekFSSXNBRDBuQWVUWkkxTktlZlZ2Vmh6Q0NOR1RUdEFDZWFNUjlrNC1XMU5ySktGcUFXWURZUWVZb205bmJDd3oMCAliCAgAEAAYACAA&is_vtc=1&cid=CAQS-QEABaugfaBQnVt35jFlNlcJ0OJ61sjJvZH33IrWyQpfvm286tbikEv7ponCGi9Lbn421fo29MkHQO9kHh0MzvjPJkZm2yRHIrRLRP-BFXqvI3lK7Fm4xWtUs8_SjHGvlkAIDSFXVy2Sv41vUd7Sg8zJT1fFAPyLs36phTGDw-8RyCqLCRGTGPofLSVBiJwSwtBOhd6cpal3vj15YfVeAtmqSN7hnmxozgxsav4tIjOSkhv2C18YL6f5F9Rce5ltXIMU2rsJIR12Q07eMsdu8y8xDrVXWlT0PKJA-CFzhgoBRNvGVx6nImuJjJw9AfwYNEAREHoo5dCXv0c&random=1782424608> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.google.com.au/pagead/1p-conversion/969624659/?random=1642705173&cv=11&fst=1779950014099&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion>m=45be65r0h2v9207916595za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115616985~115938466~115938469~116701382&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=1&label=c7avCOOr79EBENOYrc4D&capi=1>m_ee=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&value=1&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&gcl_ctr=1~0~0~0&data=event%3Dconversion&category=acrcp_v1_512&ct_cookie_present=false&crd=CLTesQII8t-xAgit4bECCKG4sQIIscGxAgiwwbECCLHDsQIIisWxAgjCybECCLTGsQIIk9qxAgjb3LECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgj02rECCJfUsQIIyduxAgjU5rECCLHhsQIIs-GxAgim3bECCLDesQIIgNuxAkoZdHJpZ2dlcj1uYXZpZ2F0aW9uLXNvdXJjZVoDCgEBYgMKAQM&cerd=CgTbib4t&fsk=ChAI8Kza0AYQn--F9POI5p4NEiwAPzTlhobfHYtttOOJTBc6uSC3s125TuRVBtghkEkbBuRObgtSNn2SWGquExoC7W8&is_vtc=1&cid=CAQS-QEABaugfaBQnVt35jFlNlcJ0OJ61sjJvZH33IrWyQpfvm286tbikEv7ponCGi9Lbn421fo29MkHQO9kHh0MzvjPJkZm2yRHIrRLRP-BFXqvI3lK7Fm4xWtUs8_SjHGvlkAIDSFXVy2Sv41vUd7Sg8zJT1fFAPyLs36phTGDw-8RyCqLCRGTGPofLSVBiJwSwtBOhd6cpal3vj15YfVeAtmqSN7hnmxozgxsav4tIjOSkhv2C18YL6f5F9Rce5ltXIMU2rsJIR12Q07eMsdu8y8xDrVXWlT0PKJA-CFzhgoBRNvGVx6nImuJjJw9AfwYNEAREHoo5dCXv0c&random=1782424608&ipr=y&pscrd=IhMIpofOwq7blAMVosiEAB2AIBfGOh5odHRwczovL3d3dy53b29sd29ydGhzLmNvbS5hdS9CV0NoRUk4S3phMEFZUXg4TEJ3djdPOTVUekFSSXNBRDBuQWVUWkkxTktlZlZ2Vmh6Q0NOR1RUdEFDZWFNUjlrNC1XMU5ySktGcUFXWURZUWVZb205bmJDd3oMCAliCAgAEAAYACAAggEacAGIAQGQAQGYAQGyAQcIrMbcARABwgECCAE> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://chatwidget.woolworths.com.au/configs/wowo.json?q=www.woolworths.com.au-1038.0.0-> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Response body is unavailable for redirect responses
[2026-05-28 16:34:05] INFO: Fetched (302) <GET https://googleads.g.doubleclick.net/pagead/viewthroughconversion/706996958/?random=332136726&cv=11&fst=1779950014167&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion>m=45be65r0h2v894961105za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115938466~115938469~116701382~118228215&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=17&label=oQFKCJCy0dQBEN7Vj9EC&capi=1>m_ee=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&value=1&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&ec_mode=a&gcl_ctr=2~0~0~0&data=event%3Dconversion&category=acrcp_v1_512&em=tv.1&ct_cookie_present=false&crd=CLTesQII8t-xAgit4bECCKG4sQIIscGxAgiwwbECCLHDsQIIisWxAgjCybECCLTGsQIIk9qxAgjb3LECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgj02rECCMnjsQIIl9SxAgjJ27ECCLHhsQIIs-GxAgim3bECCLDesQIIgNuxAkoZbm90LWV2ZW50LXNvdXJjZSwgdHJpZ2dlcloDCgEBYgMKAQM&cerd=CgSg870t&fsk=ChAI8Kza0AYQn--F9POI5p4NEiwAPzTlhgU-mr1Suf59DFLqpGm7r6LKinpwUfbF8N6UD3ipqP4Kuo6tvV1wdhoCQHk&pscrd=IhMI8ZPOwq7blAMVUOSEAB03qRUoOh5odHRwczovL3d3dy53b29sd29ydGhzLmNvbS5hdS9CV0NoRUk4S3phMEFZUXg4TEJ3djdPOTVUekFSSXNBRDBuQWVUa0hvYnlFVXcya0pRLVFyY3NxVGk4b1NSeHc5NkUwT2FjclNqZTRNbDYyMmVSbTlURTNiVXoMCAliCAgAEAAYACAA> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Response body is unavailable for redirect responses
[2026-05-28 16:34:05] INFO: Fetched (302) <GET https://www.google.com/pagead/1p-conversion/706996958/?random=332136726&cv=11&fst=1779950014167&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion>m=45be65r0h2v894961105za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115938466~115938469~116701382~118228215&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=17&label=oQFKCJCy0dQBEN7Vj9EC&capi=1>m_ee=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&value=1&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&ec_mode=a&gcl_ctr=2~0~0~0&data=event%3Dconversion&category=acrcp_v1_512&em=tv.1&ct_cookie_present=false&crd=CLTesQII8t-xAgit4bECCKG4sQIIscGxAgiwwbECCLHDsQIIisWxAgjCybECCLTGsQIIk9qxAgjb3LECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgj02rECCMnjsQIIl9SxAgjJ27ECCLHhsQIIs-GxAgim3bECCLDesQIIgNuxAkoZbm90LWV2ZW50LXNvdXJjZSwgdHJpZ2dlcloDCgEBYgMKAQM&cerd=CgSg870t&fsk=ChAI8Kza0AYQn--F9POI5p4NEiwAPzTlhgU-mr1Suf59DFLqpGm7r6LKinpwUfbF8N6UD3ipqP4Kuo6tvV1wdhoCQHk&pscrd=IhMI8ZPOwq7blAMVUOSEAB03qRUoOh5odHRwczovL3d3dy53b29sd29ydGhzLmNvbS5hdS9CV0NoRUk4S3phMEFZUXg4TEJ3djdPOTVUekFSSXNBRDBuQWVUa0hvYnlFVXcya0pRLVFyY3NxVGk4b1NSeHc5NkUwT2FjclNqZTRNbDYyMmVSbTlURTNiVXoMCAliCAgAEAAYACAA&is_vtc=1&cid=CAQS-QEABaugfURudwOH2jnIhzEw6bRGF0rlF3zWBwhW4qKPkDHdBjBaUBrSqdBSS5XlOgRY8TBWEqBaQI9aKZUtUm4vINpnronQ6vZ_j49b89wHWf70lsLPQJ2k7w-Ki4emI20e7dImPAvFpp6R4d7NjxCrBMZs7J-0Gfftm6QCZmquF67HEcUzPFlVVxVlNJtZZ4x_DQEl61YmWJxH9-ikjpxjsIW5DNqhC7_lm0JTuVZi_LkPOK6juqwv5K8aPE4FLXMUKuLm9ODJOXOnZMIlJR2OqE5MbJaX4Flx7xnhRLbo4e7osRuSgqwRnxMBU_VT9TAOG49rVbX64pA&random=796175616> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] ERROR: Error getting page content: Response.body: Protocol error (Network.getResponseBody): No data found for resource with given identifier
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.google.com.au/pagead/1p-conversion/706996958/?random=332136726&cv=11&fst=1779950014167&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion>m=45be65r0h2v894961105za200zb878538926zd878538926xec&gcd=13l3l3l3l1l1&dma=0&tag_exp=0~115938466~115938469~116701382~118228215&u_w=1280&u_h=720&url=https%3A%2F%2Fwww.woolworths.com.au%2Fshop%2Fbrowse%2Ffruit-veg&ref=https%3A%2F%2Fwww.google.com%2F&rcb=17&label=oQFKCJCy0dQBEN7Vj9EC&capi=1>m_ee=1&frm=0&tiba=Fresh%20Fruit%20%26%20Vegetables%20%7C%20Woolworths&did=dYmQxMT&gdid=dYmQxMT&value=1&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=1550109597.1779950014&uaa=x86&uab=64&uafvl=Chromium%3B147.0.7727.15%7CNot.A%252FBrand%3B8.0.0.0&uamb=0&uam=&uap=macOS&uapv=10.15.7&uaw=0&ec_mode=a&gcl_ctr=2~0~0~0&data=event%3Dconversion&category=acrcp_v1_512&em=tv.1&ct_cookie_present=false&crd=CLTesQII8t-xAgit4bECCKG4sQIIscGxAgiwwbECCLHDsQIIisWxAgjCybECCLTGsQIIk9qxAgjb3LECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgj02rECCMnjsQIIl9SxAgjJ27ECCLHhsQIIs-GxAgim3bECCLDesQIIgNuxAkoZbm90LWV2ZW50LXNvdXJjZSwgdHJpZ2dlcloDCgEBYgMKAQM&cerd=CgSg870t&fsk=ChAI8Kza0AYQn--F9POI5p4NEiwAPzTlhgU-mr1Suf59DFLqpGm7r6LKinpwUfbF8N6UD3ipqP4Kuo6tvV1wdhoCQHk&is_vtc=1&cid=CAQS-QEABaugfURudwOH2jnIhzEw6bRGF0rlF3zWBwhW4qKPkDHdBjBaUBrSqdBSS5XlOgRY8TBWEqBaQI9aKZUtUm4vINpnronQ6vZ_j49b89wHWf70lsLPQJ2k7w-Ki4emI20e7dImPAvFpp6R4d7NjxCrBMZs7J-0Gfftm6QCZmquF67HEcUzPFlVVxVlNJtZZ4x_DQEl61YmWJxH9-ikjpxjsIW5DNqhC7_lm0JTuVZi_LkPOK6juqwv5K8aPE4FLXMUKuLm9ODJOXOnZMIlJR2OqE5MbJaX4Flx7xnhRLbo4e7osRuSgqwRnxMBU_VT9TAOG49rVbX64pA&random=796175616&ipr=y&pscrd=IhMI8ZPOwq7blAMVUOSEAB03qRUoOh5odHRwczovL3d3dy53b29sd29ydGhzLmNvbS5hdS9CV0NoRUk4S3phMEFZUXg4TEJ3djdPOTVUekFSSXNBRDBuQWVUa0hvYnlFVXcya0pRLVFyY3NxVGk4b1NSeHc5NkUwT2FjclNqZTRNbDYyMmVSbTlURTNiVXobCAlY6caxAljpxrECWOnGsQJiCAgAEAAYACAAggEacAGIAQGQAQGYAQGyAQcIiaXdARABwgECCAE> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/graphql> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://nebula-cdn.kampyle.com/au/wau/68738/onsite/onsiteData1778571097953.json> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://nebula-cdn.kampyle.com/au/wau/68738/forms/3725/formData1762328011276_en.json> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://nebula-cdn.kampyle.com/au/wau/68738/forms/3726/formData1762328029477_en.json> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://nebula-cdn.kampyle.com/au/wau/68738/forms/7952/formDataV2_1762329178994_en.json> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://analytics-fe.digital-cloud-syd1.medallia.com.au/api/web/events> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://analytics-fe.digital-cloud-syd1.medallia.com.au/api/web/events> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://analytics-fe.digital-cloud-syd1.medallia.com.au/api/web/events> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://ep1.adtrafficquality.google/getconfig/sodar?sv=200&tid=gpt&tv=m202605210101&st=env&sjk=6705090101095288> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://analytics-fe.digital-cloud-syd1.medallia.com.au/api/web/events> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://insight.adsrvr.org/track/realtimeconversion> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (200) <GET https://www.woolworths.com.au/ZbnWGh/bzsy/4o7V/Z91V/IVtmZUtEk/kJD9kLGu/IjwzNwE/HFIm/ImVmBVN0> (referer: https://www.woolworths.com.au/shop/browse/fruit-veg)
[2026-05-28 16:34:05] INFO: Fetched (439) <GET https://dc.services.visualstudio.com/v2/track> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (439) <GET https://dc.services.visualstudio.com/v2/track> (referer: https://www.woolworths.com.au/)
[2026-05-28 16:34:05] INFO: Fetched (439) <GET https://dc.services.visualstudio.com/v2/track> (referer: https://www.woolworths.com.au/)
2 GraphQL calls captured
https://www.woolworths.com.au/graphql ['products']
https://www.woolworths.com.au/graphql ['products']
cdp_connect()
attaches to a running Chrome browser over the DevTools Protocol. The
browser uses a persistent debug profile so cookies and SSO sessions
survive across runs. Log in once to any enterprise or authenticated
site; every subsequent call reuses that session.
Use pg.ax_tree() to read the accessibility tree, then pass node IDs
from the output to pg.fill_text() and pg.click_and_wait().
syncy() runs
any async CDP call synchronously.
Always print the full ax_tree() output and read node IDs from it —
never truncate. IDs change on every navigation, so re-read the tree
after each action. fill_text() and click_and_wait() handle all waits
internally — no time.sleep() needed.
from fossick.cdp import cdp_connect, syncy
cdp = syncy(cdp_connect())
pg = syncy(cdp.open_page('https://example.com/login'))
# Print the FULL tree — never truncate — read [#N] IDs from the output
rt = syncy(pg.ax_tree())
print(str(rt))
# Use IDs directly from the tree; IDs change after every navigation
syncy(pg.fill_text(123, 'user@example.com')) # [#123] = email field
syncy(pg.fill_text(456, 'mypassword')) # [#456] = password field
# Verify before submitting
rt2 = syncy(pg.ax_tree())
print(str(rt2))
syncy(pg.click_and_wait(789)) # [#789] = submit button
# Read result
print(str(syncy(pg.ax_tree())))setup_chrome_daemon()
installs a system service that starts Chrome with remote debugging at
login. Run once per machine — macOS (launchd), Linux (systemd), or
Windows (Task Scheduler).
fossick ships a fossick command for shell scripts and agent harnesses
that don’t have a Python kernel. All commands accept --as_json to
return JSON instead of markdown.
# fetch a page as markdown
fossick fetch https://en.wikipedia.org/wiki/Web_scraping --sel '.mw-parser-output > p'
# web search
fossick search "fasthtml python framework" --n 5
# read an arxiv paper (summary only by default; --source for full text)
fossick read-arxiv 2306.14881
# YouTube transcript
fossick read-yt https://www.youtube.com/watch?v=aircAruvnKk
# search YouTube
fossick search-yt "3blue1brown neural networks" --n 3
# download YouTube audio or video
fossick download-yt https://www.youtube.com/watch?v=aircAruvnKk --format audio
# convert a URL, PDF, or arXiv paper to a Jupyter notebook
fossick url2nb https://arxiv.org/abs/2306.14881
# capture outgoing network requests fired by a page (uses real Chrome session)
fossick calls https://example.com --pattern '*api*' --as_json
# interactive screenshot capture — overlays a button in Chrome, ✓ Done to finish
fossick collect https://example.com --save_dir shots
# click elements to annotate them with AX role + selector; saves labeled screenshot
fossick annotate https://example.com --save_dir shots
# install SKILL.md to .agents/skills/fossick/ and .claude/skills/fossick/
fossick install# macOS, Linux, or Windows — detects platform automatically
setup_chrome_daemon(port=9222)
# To uninstall: setup_chrome_daemon(port=9222, uninstall=True)