# HTML

Pick content out of HTML by CSS selector, strip tags, or list links.

## Do things in HTML

Add an **HTML** step and choose an **Operation**. Choose the row to see the fields of each.

- [Process HTML](https://docs.gorunner.io/apps/html#fields-f-process): Generate HTML template · Extract by CSS selector · Strip tags (to text) · Extract links · Convert to HTML table

Later steps read a step’s output by its name: see [Use data from earlier steps](https://docs.gorunner.io/build/use-data-from-earlier-steps).

Not in your list? See [When an app isn’t here](https://docs.gorunner.io/apps/when-an-app-isnt-here#q-not-in-list).

## For developers

In the API, which calls apps pieces, HTML is `pieceId: "html"` with `actionId: "process"`, set by `operation`. [Get an app](https://docs.gorunner.io/api/apps/get-app) returns every field.

It computes from its inputs only (`pure`). See [How versions and side effects work](https://docs.gorunner.io/apps#q-versions).

### HTML › Process HTML

Extract by CSS selector, strip to plain text, or collect links.

### Generate HTML template, Strip tags (to text) and Extract links

- **HTML · Required**: The web page code to process (Extract/Strip/Links), or the template to output. Use {{expressions}} to fill in data (Generate HTML template).

### Extract by CSS selector

- **HTML · Required**: The web page code to process (Extract/Strip/Links), or the template to output. Use {{expressions}} to fill in data (Generate HTML template).
- **CSS Selector · Optional**: Points to the parts of the page to grab, like a heading or a class (such as h1, .title).
- **Return · Optional**: Pick what to take from each match: the readable text, the inner code, or one attribute's value. Options: Text content, Inner HTML, Attribute value. Default: Text content.
- **Attribute · Optional**: Name of the HTML attribute to read (such as href, src). Shows when **Return** is **Attribute value**.
- **Always return an array · Optional**: Keep the result as an array even when only one element matches (stable shape for downstream steps).

### Convert to HTML table

- **Rows · Required**: An array of objects to render as table rows (columns are the union of their keys).
- **Capitalize Headers · Optional**: Capitalize the first letter of each column header.
- **Caption · Optional**: Optional caption shown above the table.
- **No Default Styling · Optional**: Omit the built-in inline styles so you can style the table with your own CSS.

Source: https://docs.gorunner.io/apps/html
