waitUntil

Type:
<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'.
  • : 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.
  • : 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)