Webscrape
The Webscrape operations read web pages for you. They open a page in a hidden browser, so pages that build themselves with JavaScript work too. Then they answer a question about it, pull one part out, turn it into data, click through it step by step, or take a picture of it. You'll find them in the Text tab of the operation list, under Webscrape. Like every operation they work in the Sandbox, Batch, the Workflow canvas, the Assistant and connected MCP clients.
Warning
These operations reach the network, so they ask the same Allow Automation operations? question as the Automation ones, and agents can only run them when you allow it in Settings. The ones with LLM in the name send what they read to your model.
The hidden browser keeps nothing between runs: no cookies, no logins, no history. Every run starts fresh.
Pointing at part of a page
Several operations take a Target: the thing on the page to read, click or capture. You can give it three ways:
- An XPath, such as
//table[@id="prices"]//tr[2]/td[2]or(//a)[3]. - A CSS selector, such as
#search,.price,ul li aor a bare tag likeh1. - The words on it, such as
Sign inorLoad more. Buttons and links are matched first, then anything else that shows those words.
Target Is says which one you mean. Work it out is right almost every time: a target starting with / or ( is an XPath, one that looks like a selector is a selector, and anything else is words.
The operations
| Operation | What it does | What comes out |
|---|---|---|
| Ask LLM Webscrape | Reads the page, or just the target, and answers your Question. | answer, plus the page text and final address |
| Get Doc Target LLM Webscrape | Pulls one part out. Give its XPath or selector to take it straight away, or Describe It ("the table of opening hours") and the model finds it. Return picks its text, its HTML, or every match as a JSON list. | content, and the xpath it used, ready to reuse |
| To Structured Data LLM Webscrape | Turns the page into JSON. Say What To Extract, and give a Shape as an example to fix the keys, like {"products": [{"name": "", "price": 0}]}. Values the page doesn't have come back as null rather than made up. |
data (JSON) |
| Run Web Sequence | Works through a list of steps: click, type, choose, scroll, wait, read, screenshot. | results (JSON), text (the last thing read), screenshots |
| Run Web Sequence LLM | The same, with a model in it. See below. | answer, results, the steps it ran, screenshots |
| Click Button | Opens the page, clicks a button or link one or more times (Load more three times, say), and reads the page that results. | pageText, a clicked list, optional screenshot |
| Find Button | Lists the buttons and links that match, each with its words, XPath and link. With Or Describe It, the model picks one ("the button that adds to the basket"). | matches (JSON), the best match's xpath |
| Screenshot Webpage | Takes a picture of what fits on the screen, the whole page top to bottom, or just the target. Browser Width and Height let you see the page as a phone or a wide screen would. | image |
Every operation has Wait After Loading for pages that keep loading after they appear, and a Time Limit for the browsing, after which the run stops and fails. The LLM ones have a Model setting. It starts on From Settings, which uses the Video Assistant Editor model from Settings ▸ Agents (the menu shows which one). Pick a provider instead (OpenRouter, Google, OpenAI, Anthropic, your custom endpoints, or a command-line agent) and choose any of its models from the same list Settings shows, with the refresh button for the newest. Most Page Text Sent caps how much of a long page goes to it, and Model Time Limit (five minutes to start with) stops a model that takes too long. A big model reading a long page can take a minute or two, so raise the limit, send less text, or pick a faster model if it keeps stopping.
Watching it work
While it runs, the job row says what stage it's at (Loading page, Running steps, Asking the model, Model thinking, Model writing) with the last few words the model wrote. Cancel stops it straight away, model and all.
Tick Show Browser to watch the page itself. It opens in a window you can see, and a Model window opens beside it with three parts: the steps as they happen, the model's thinking, and its answer as it's written. The page closes when the run ends; the Model window stays open with the final answer until you close it. Models reached through OpenRouter, OpenAI and your own custom endpoints stream into it as they write. Google, Anthropic and the command-line agents send their answer in one go, so it appears when they finish.
Sequences
Run Web Sequence has a list of steps. Press Add step, pick an action, and fill in where:
| Action | Target | Value |
|---|---|---|
| Go to URL | the address | |
| Click, Hover | what to click or point at | |
| Type | the field | the text (the field is cleared first) |
| Press key | a key such as Enter or Tab | |
| Choose option | the dropdown | the option's words or value |
| Scroll | scroll this into view | or pixels down (empty is one screen) |
| Wait | seconds | |
| Wait for | wait until this appears | most seconds to wait (15 if empty) |
| Get text, Get HTML | what to read (empty reads the whole page) | |
| Get attribute | the element | the attribute, such as href |
| Get every match | something that matches many (rows, links) | an attribute, or empty for their text |
| Screenshot | full for the whole page |
Give a step a Result name and what it read is stored under that name in results, so {"price": "£40", "links": [...]} comes out ready for Get Object From JSON. Steps without a name are stored as step3, step7 and so on. Tick Optional on a step that may not apply, like closing a cookie banner, and a failure there is noted and skipped. Any other failure stops the run and says which step and why, unless you turn off Stop at a Failed Step. The arrows move a step up or down.
With a model
Run Web Sequence LLM adds a Goal for the whole sequence and a Prompt on every step:
- On a step with no target, the prompt says what to look for ("the search box"), and the model finds it on the page as it is at that moment.
- On a Type step with no value, the prompt says what to write, and the model writes it.
- On a Get step, the prompt works on what was read: "just the prices, as numbers".
- An Ask LLM step asks a question about the page, or the target, as it stands.
With no steps at all, the model plans them from the Goal when it runs. To see and edit the plan first, fill in the URL and Goal, then press Plan with AI above the steps: the model opens the page and writes the steps into the list. Final Prompt works over everything the steps gathered, such as "a table of name and price", and becomes answer.
In a workflow
Every setting on a Webscrape node is a pin, so a URL, a target or the steps themselves can come down a wire. Find Button's xpath wired into Click Button's Button pin finds a button by description and clicks it. A list of addresses fed through a loop scrapes each one.
Each node also has In Memory beside Temp. Ticked, the node's results never become project files: they pass to the next node and are cleared when the project closes. Use it for steps in the middle of a chain that you'll never want to look at on their own.