Crawler: RenderJavaScript
boolean
| string[]
| object
false
renderJavaScript: true|false|[ 'http://www.example.com', ... ] | { enabled: boolean, waitTime?: { min?: number, max?: number }, adblock?: boolean, patterns: [ 'http://www.algolia.com/blog/**' ] }
About this parameter
When true
, all web pages are rendered with a chrome headless browser. The crawler will use the rendered HTML.
Because rendering JavaScript-based web pages is slower than crawling regular HTML pages, you can apply this setting to a specified list of micromatch URL patterns. These patterns can include negations and wildcards.
With this setting enabled, JavaScript is executed on the web page by a headless Chrome browser. Because a lot of websites have infinite refreshes and updates, the browser has a timeout of 20 seconds by default. Change this value with renderJavascript.waitTime
.
Enabling this feature can lead to inconsistent records across crawls, depending on the browser load and the website speed.
Make sure your JavaScript-enabled pages load fast enough for the crawler.
Examples
1
2
3
{
renderJavaScript: true,
}
1
2
3
4
5
{
renderJavaScript: [
'http://www.mysite.com/dynamic-pages/**',
],
}
1
2
3
4
5
6
7
8
9
10
11
12
13
{
renderJavaScript: {
enabled: true,
waitTime: {
min: 7000,
max: 15000,
}
adblock: true,
patterns: [
'http://www.mysite.com/dynamic-pages/**',
],
}
}
Parameters
renderJavascript
enabled
|
type: boolean
Optional
Determines the activation of the JavaScript rendering feature. |
patterns
|
type: string[]
Optional
Based on URL patterns, determines which web pages to render with JavaScript.
If unspecified, and |
waitTime
|
type: object
Optional
Determines the shortest and longest wait time before considering a page as rendered. |
adblock
|
type: boolean
default: false
Optional
Whether to activate the custom ad blocker or not. It blocks most ads and tracking scripts, but can break some websites. |
renderJavascript ➔ waitTime
min
|
type: number
default: 0
Optional
If the page runs faster than this minimum execution time, the browser remains open at least this long. |
max
|
type: number
default: 20000
Optional
At this maximum execution time threshold, the execution stops and the HTML is processed as is. |