playwright/docs/src/troubleshooting-js.md
2021-08-23 20:10:12 -07:00

1.5 KiB

id title
troubleshooting Troubleshooting

Browser dependencies

Playwright does self-inspection every time it runs to make sure the browsers can be launched successfully. If there are missing dependencies, playwright will print instructions to acquire them.

See also in the Command line tools which has a command to install all necessary dependencies automatically for Ubuntu LTS releases.

Code transpilation issues

If you are using a JavaScript transpiler like babel or TypeScript, calling evaluate() with an async function might not work. This is because while playwright uses Function.prototype.toString() to serialize functions while transpilers could be changing the output code in such a way it's incompatible with playwright.

Some workarounds to this problem would be to instruct the transpiler not to mess up with the code, for example, configure TypeScript to use latest ECMAScript version ("target": "es2018"). Another workaround could be using string templates instead of functions:

await page.evaluate(`(async() => {
   console.log('1');
})()`);

Node.js requirements

ReferenceError: URL is not defined

Playwright requires Node.js 12 or higher. Node.js 8 is not supported, and will cause you to receive this error.

Please file an issue

Playwright is a new project, and we are watching the issues very closely. As we solve common issues, this document will grow to include the common answers.