Playwright 不打印print
时间: 2023-12-22 12:05:10 浏览: 84
Playwright 默认情况下会将浏览器的控制台输出转发到 Node.js 的控制台,所以你可以通过在代码中使用 `console.log()` 来打印浏览器的控制台输出。如果你想禁用这个功能,可以在启动浏览器时传递 `handleSIGINT: true` 选项,例如:
```javascript
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ handleSIGINT: true });
const page = await browser.newPage();
// 禁用控制台输出转发
page.on('console', message => {
message.preventDefault();
});
await page.goto('https://example.com');
await page.waitForSelector('h1');
// 手动打印控制台输出
const consoleMessages = await page.evaluate(() => {
const messages = [];
for (const message of console) {
messages.push(message.text());
}
return messages;
});
console.log(consoleMessages);
await browser.close();
})();
```
在上面的示例中,我们通过 `page.on('console', ...)` 方法来监听控制台输出事件,并在事件处理函数中调用 `message.preventDefault()` 来阻止输出转发。然后,我们使用 `page.evaluate()` 方法来获取控制台输出,并手动打印到 Node.js 的控制台中。
阅读全文