You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browser Rendering: Add FAQ for troubleshooting missing page content (#27969)
* Add FAQ entry for troubleshooting missing page content
Adds a new FAQ entry in Errors & Troubleshooting section explaining:
- Why content might be missing (JS-heavy pages, SPAs)
- When to use networkidle0 vs networkidle2
- Example REST API usage
- Additional troubleshooting tips
Also includes review suggestions from ToriLindsay:
- Add 'Error:' prefix to error headings for consistency
- Fix grammar and improve clarity
- Add space in '500 ms'
* Update faq.mdx
---------
Co-authored-by: Kathy <153706637+kathayl@users.noreply.github.com>
Copy file name to clipboardExpand all lines: src/content/docs/browser-rendering/faq.mdx
+55-25Lines changed: 55 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,61 @@ If you cannot find the answer you are looking for, join us on [Discord](https://
18
18
19
19
---
20
20
21
+
## Errors & Troubleshooting
22
+
23
+
### Error: Cannot read properties of undefined (reading 'fetch')
24
+
25
+
This error typically occurs because your Puppeteer launch is not receiving the browser binding. To resolve this error, pass your browser binding into `puppeteer.launch`.
26
+
27
+
### Error: 429 browser time limit exceeded
28
+
29
+
This error (`Unable to create new browser: code: 429: message: Browser time limit exceeded for today`) indicates you have hit the daily browser-instance limit on the Workers Free plan. [Workers Free plan accounts are capped at 10 minutes of browser use a day](/browser-rendering/limits/#workers-free). Once you exceed that limit, further creation attempts return a 429 error until the next UTC day.
30
+
31
+
To resolve this error, [upgrade to a Workers Paid plan](/workers/platform/pricing/) which allows for more than 10 minutes of usage a day and has higher [limits](/browser-rendering/limits/#workers-paid). If you recently upgraded but still see this error, try redeploying your Worker to ensure your usage is correctly associated with your new plan.
32
+
33
+
### Error: 422 unprocessable entity
34
+
35
+
A `422 Unprocessable Entity` error usually means that Browser Rendering wasn't able to complete an action because of an issue with the site.
36
+
37
+
This can happen if:
38
+
- The website consumes too much memory during rendering.
39
+
- The page itself crashed or returned an error before the action completed.
40
+
- The request exceeded one of the [timeout limits](/browser-rendering/reference/timeouts/) for page load, element load, or an action.
41
+
42
+
Most often, this error is caused by a timeout. You can review the different timers and their limits in the [REST API timeouts reference](/browser-rendering/reference/timeouts/).
43
+
44
+
### Why is my page content missing or incomplete?
45
+
46
+
If your screenshots, PDFs, or scraped content are missing elements that appear when viewing the page in a browser, the page likely has not finished loading before Browser Rendering captures the output.
47
+
48
+
JavaScript-heavy pages and Single Page Applications (SPAs) often load content dynamically after the initial HTML is parsed. By default, Browser Rendering waits for `domcontentloaded`, which fires before JavaScript has finished rendering the page.
49
+
50
+
To fix this, use the `goToOptions.waitUntil` parameter with one of these values:
|`networkidle0`| The page must be completely idle (no network requests for 500 ms). Best for pages that load all content upfront. |
55
+
|`networkidle2`| The page can have up to 2 ongoing connections (like analytics or websockets). Best for most dynamic pages. |
56
+
57
+
REST API example:
58
+
```json
59
+
{
60
+
"url": "https://example.com",
61
+
"goToOptions": {
62
+
"waitUntil": "networkidle2"
63
+
}
64
+
}
65
+
```
66
+
67
+
If content is still missing:
68
+
- Use `waitForSelector` to wait for a specific element to appear before capturing.
69
+
- Increase `goToOptions.timeout` (up to 60 seconds) for slow-loading pages.
70
+
- Check if the page requires authentication or returns different content to bots.
71
+
72
+
For a complete reference, see [REST API timeouts](/browser-rendering/reference/timeouts/).
73
+
74
+
---
75
+
21
76
## Getting started & Development
22
77
23
78
### Does local development support all Browser Rendering features?
@@ -83,28 +138,3 @@ This applies to both the [REST API](/browser-rendering/rest-api/) and [Workers B
83
138
For the [REST API](/browser-rendering/rest-api/), generated content is cached by default for five seconds (configurable up to one day via the `cacheTTL` parameter, or set to `0` to disable caching). This cache protects against repeated requests for the same URL by the same account. Customer-submitted HTML content itself is not cached.
84
139
85
140
For [Workers Bindings](/browser-rendering/workers-bindings/), no caching is used. Content exists only in memory for the duration of the rendering operation and is discarded immediately after the response is returned.
86
-
87
-
---
88
-
89
-
## Errors & Troubleshooting
90
-
91
-
### `Cannot read properties of undefined (reading 'fetch')`
92
-
93
-
This error typically occurs because your Puppeteer launch is not receiving the Browser binding. To resolve: Pass your Browser binding into `puppeteer.launch`.
94
-
95
-
### `Error processing the request: Unable to create new browser: code: 429: message: Browser time limit exceeded for today`
96
-
97
-
This error indicates you have hit the daily browser-instance limit on the Workers Free plan. [Free-plan accounts are capped at free plan limit is 10 minutes of browser use a day](/browser-rendering/limits/#workers-free) once you exceed those, further creation attempts return a 429 until the next UTC day.
98
-
99
-
To resolve: [Upgrade to a Workers Paid plan](/workers/platform/pricing/) which allows for more than 10 minutes of usage a day and has higher [limits](/browser-rendering/limits/#workers-paid). If you recently upgraded but still see this error, try redeploying your Worker to ensure your usage is correctly associated with your new plan.
100
-
101
-
### `422 Unprocessable Entity`
102
-
103
-
A `422 Unprocessable Entity` error usually means that Browser Rendering wasn’t able to complete an action because of an issue with the site.
104
-
105
-
This can happen if:
106
-
- The website consumes too much memory during rendering.
107
-
- The page itself crashed or returned an error before the action completed.
108
-
- The request exceeded one of the [timeout limits](/browser-rendering/reference/timeouts/) for page load, element load, or an action.
109
-
110
-
Most often, this error is caused by a timeout. You can review the different timers and their limits in the [REST API timeouts reference](/browser-rendering/reference/timeouts/).
0 commit comments