How can I retrieve the current URL of the page in Playwright?
Something similar to browser.getCurrentUrl()
in Protractor?
Asked
Active
Viewed 3.7k times
25

emery
- 8,603
- 10
- 44
- 51

gabogabans
- 3,035
- 5
- 33
- 81
-
1I re-wrote the original question for clarity and nominated this for re-opening again, as this was the correct and easy-to-google answer for the question I needed. – emery Oct 19 '22 at 20:27
2 Answers
21
const {browser}=this.helpers.Playwright;
await browser.pages(); //list pages in the browser
//get current page
const {page}=this.helpers.Playwright;
const url=await page.url();//get the url of the current page

Himanshu Bhardwaj
- 852
- 6
- 18
15
To get the URL of the current page as a string (no await needed):
page.url()
Where "page" is an object of the Page class. You should already have a Page object, and there are various ways to instantiate it, depending on how your framework is set up: https://playwright.dev/docs/api/class-page
It can be imported with
import Page from '@playwright/test';
or this
const { webkit } = require('playwright');
(async () => {
const browser = await webkit.launch();
const context = await browser.newContext();
const page = await context.newPage();
}

emery
- 8,603
- 10
- 44
- 51
-
3In many cases, `await expect(page).toHaveURL(someURL)` may actually be what you're looking for. – Andrew Nov 16 '22 at 20:19
-