r'''
Pyppeteer框架简介
Pyppeteer是一个基于Puppeteer(谷歌基于node.js开发的自动化框架)的Python库,它提供了一个高级API来控制无头Chrome或Chromium浏览器。
它允许你通过Python代码自动化浏览器操作,例如导航到网页、与页面元素交互、执行JavaScript代码、截取网页截图等。
库安装
pip install Pyppeteer
版本
C:\Users\Administrator>pip show Pyppeteer
Name: pyppeteer
Version: 1.0.2
环境配置,首次运行前需要配置,不然默认打开浏览器也会联网配置
在python Scripts 中执行命令
D:\Python310\Scripts>pyppeteer-install
chromium安装路径
Chromium extracted to: C:\Users\Administrator\AppData\Local\pyppeteer\pyppeteer\local-chromium\588429
Chrome/71.0.3542.0
优点: 支持异步,比selenium执行快。
缺点: Puppeteer 比较适合前端使用,python调用pyppeteer的话,虽然打开浏览器很快,但是Pyppeteer库支持Puppeteer和chromium版本都很低,
Pyppeteer库的开发者很久没维护了。
'''
import asyncio
from pyppeteer import launch
from time import sleep
async def main():
browser = await launch(headless=False)
page = await browser.newPage()
await page.goto('https://www.baidu.com')
sleep(360)
await browser.close()
async def main2():
browser = await launch()
page = await browser.newPage()
await page.goto('https://spa2.scrape.center')
await page.waitForSelector('.item .name')
await page.click('.item .name', options={
'button': 'right',
'clickCount': 1, # 1 or 2
'delay': 1000, # 毫秒
})
await page.screenshot({'path': 'baidu.png'})
# sleep(360)
await browser.close()
if __name__ == '__main__':
asyncio.get_event_loop().run_until_complete(main())
# asyncio.get_event_loop().run_until_complete(main2())