ページ遷移で使用するPageクラスのドキュメントは以下になります。

指定URLへの移動 (goto)

指定URLに移動する場合は、gotoメソッドを使用します。タイムアウトはデフォルトで30秒になっています。

page.goto(url[, options])

Googleのトップページに移動するなら以下のようにします。

page.goto('https://www.google.co.jp/')

BASIC認証のページへ移動

BASIC認証があるページでは、遷移前に以下のコマンドで、BASIC認証のIDとパスワードを設定します。 このあとpage.gotoで遷移すれば、BASIC認証があるページもアクセス可能となります。

page.authenticate({username: [ID], password: [パスワード]})

例 IDが 'uname'、パスワードが 'pass2020' の場合、以下のように指定します。

await page.authenticate({username: 'uname', password: 'pass2020'});
awit page.goto('BASIC認証のあるURL’);

クリックして移動 (click)

Aタグのリンクやsubmitボタンをクリックして他ページへ遷移する場合は、以下を使用します。 ページ遷移は、遷移待ちと組み合わせて使うことになりますが、この組み合わせにには注意が必要です。

page.click(selector[, options])

waitForNavigationとの組み合わせ

page.clickは、クリック処理だけ行い、ページ遷移は関知しません。 そのため、以下でも多くは動作しますが、ページ遷移が速い場合、page.click処理完了前にページ遷移が終わっている可能性があります。

間違い
await page.click('#a_link')
await page.waitForNavigation()
上記では、waitForNavigation の実行前にページ遷移が終わる場合があり、その場合 waitForNavigation でタイムアウトエラーになります。 そのため、waitForNavigationと組み合わせる場合、以下のようにPromise.allを使った方法が、正しい使い方になります。
正しい
await Promise.all([
  page.waitForNavigation(),
  page.click('#a_link'),
]);
これは先にwaitForNavigationを実行して、ページ遷移待ち状態にしてからクリックで遷移することになります。

参考

デフォルトのタイムアウトは30秒で長いので、以下のようにオプションで5秒に変更したコードを用意します。

await page.click('#a_link')
await page.waitForNavigation({timeout: 5000})

ローカル環境などのページ遷移が速い環境で試すと、waitForNavigationで以下のようにタイムアウトが発生することがあります。

(node:13684) UnhandledPromiseRejectionWarning: TimeoutError: Navigation timeout of 5000 ms exceeded

Promise.allを使っても、以下のように順番が間違っていると(page.clickを先に実行)、タイムアウトエラーが発生することがあります。

間違い
await Promise.all([
  page.click('#a_link'),
  page.waitForNavigation({timeout: 5000}),
]);

ページ遷移待ち

ページ遷移は、ページ遷移待ちとセットで使用することになります。ページ遷移待ちについては以下を参照