使用playwright模拟浏览器获取https://www.nmpa.gov.cn/datasearch/search-result.html的数据
时间: 2023-12-31 22:06:34 浏览: 164
模拟浏览器打开相应网页
4星 · 用户满意度95%
好的,我来为您介绍如何使用Playwright模拟浏览器获取https://www.nmpa.gov.cn/datasearch/search-result.html的数据。
首先,您需要安装Playwright库。可以使用以下命令在终端中安装:
```
npm install playwright
```
然后,您可以使用以下代码模拟打开浏览器,导航到目标网站,并搜索数据:
```javascript
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: false }); // 打开Chromium浏览器
const page = await browser.newPage(); // 创建一个新页面
await page.goto('https://www.nmpa.gov.cn/datasearch/search-result.html'); // 导航到目标网站
// 等待搜索框加载完成
await page.waitForSelector('.search-input-wrapper input');
// 在搜索框中输入关键字
await page.type('.search-input-wrapper input', '口罩');
// 点击搜索按钮
await page.click('.search-input-wrapper button');
// 等待搜索结果加载完成
await page.waitForSelector('.search-result-list');
// 获取搜索结果
const results = await page.evaluate(() => {
const list = [];
const elements = document.querySelectorAll('.search-result-list .search-item');
for (const element of elements) {
const title = element.querySelector('.search-item-title a').innerText;
const date = element.querySelector('.search-item-time').innerText;
const link = element.querySelector('.search-item-title a').href;
list.push({ title, date, link });
}
return list;
});
console.log(results);
await browser.close(); // 关闭浏览器
})();
```
上面的代码首先打开Chromium浏览器,然后导航到目标网站。接着,它等待搜索框加载完成,输入关键字并点击搜索按钮。然后,它等待搜索结果加载完成,并且使用`evaluate`方法获取搜索结果。最后,它将搜索结果打印到控制台中,并关闭浏览器。
希望这可以帮助您获取目标网站的数据!
阅读全文