waitUntil
Type:
Default: 'auto'
Values:
<string> | <string[]>
Default: 'auto'
Values:
'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'
Tell the browser to wait until the target website emits one or more event(s) to consider navigation succeeded.
The events that can be waited are:
- auto: A smart combination of
'load'
and'networkidle2'
. - load: It considers navigation successful when the whole page, including all dependent resources such as stylesheets images, have been loaded. In certain cases, it might not happen at all.
- domcontentloaded: It's fired as soon as the page DOM has been loaded, without waiting for resources to finish loading.
- networkidle0: It considers navigation successful when the page has had no network activity for half a second. This might never happen if the page is constantly loading multiple resources.
- networkidle2: It considers navigation successful when the page has no more then 2 network requests for half a second. This is useful if page runs a long polling in the background.
- CLI
- JavaScript
- Shell
- Python
- Ruby
const mql = require('@microlink/mql')
const { status, data } = await mql('https://dev.to', { screenshot: true, waitUntil: 'domcontentloaded' })
mql.render(data)
Different arguments work for different pages. When neither of them work, a good solution would be to navigate with 'domcontentloaded' argument and then simply wait for the needed element to appear on page.
- CLI
- JavaScript
- Shell
- Python
- Ruby
const mql = require('@microlink/mql')
const { status, data } = await mql('https://dev.to', { screenshot: true, waitUntil: 'domcontentloaded', waitForSelector: 'h1' })
mql.render(data)