playwright的page.evaluate方法
时间: 2024-06-09 17:11:32 浏览: 308
`page.evaluate` 是 Playwright 中的一个方法,用于在页面的上下文中执行 JavaScript 代码。它接收一个函数作为参数,并将该函数作为字符串在页面中执行。该函数可以访问页面中的所有对象和函数,如 DOM、全局变量和其他 JavaScript 库。
下面是一个例子,展示如何使用 `page.evaluate` 方法在页面中获取元素的文本内容:
```javascript
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
// 获取页面标题
const title = await page.evaluate(() => {
return document.title;
});
console.log(title); // 输出: Example Domain
// 获取页面中第一个 h1 元素的文本内容
const h1Text = await page.evaluate(() => {
return document.querySelector('h1').textContent;
});
console.log(h1Text); // 输出: Example Domain
await browser.close();
})();
```
在上面的例子中,我们使用 `page.evaluate` 方法来获取页面的标题和第一个 h1 元素的文本内容。在每个函数中,我们使用 `document` 对象来访问页面中的元素和文本内容。注意,`page.evaluate` 方法返回一个 Promise,因此我们使用 `await` 关键字来等待函数执行完成并返回结果。
阅读全文