async getNavigationUrls() {
    const frameNavigations = this._frameNavigations;
    if (!frameNavigations.length) return {};

    const mainFrameNavigations = frameNavigations.filter(frame => !frame.parentId);
    if (!mainFrameNavigations.length) log.warn('NetworkMonitor', 'No detected navigations');

    // The requested URL is the initiator request for the first frame navigation.
    /** @type {string|undefined} */
    let requestedUrl = mainFrameNavigations[0]?.url;
    if (this._networkRecorder) {
      const records = this._networkRecorder.getRawRecords();

      let initialUrlRequest = records.find(record => record.url === requestedUrl);
      while (initialUrlRequest?.redirectSource) {
        initialUrlRequest = initialUrlRequest.redirectSource;
        requestedUrl = initialUrlRequest.url;
      }
    }

    return {
      requestedUrl,
      mainDocumentUrl: mainFrameNavigations[mainFrameNavigations.length - 1]?.url,
    };
  }
@return {Promise<{requestedUrl?: string, mainDocumentUrl?: string}>}