AlwaysBeFriday 的博客

记录精彩的程序人生 开始使用

pyppeteer - 安装及简单命令

官方文档

安装

# 需要 pyppeteer.chromium_downloader
pip install websockets==7.0

# 默认安装driver路径
C:\Users\xxx\AppData\Local\pyppeteer\pyppeteer\local-chromium\chromdriver

# 匹配版本
pyppeteer == 0.0.25
chromdriver == 69.0.3494.0

运行

  • 运行第一次时,会自动下载 webdriver
  • 使用,函数必须使用 async, 定义为协程函数
  • 启动函数
# 必须使用循环事件 
loop = asyncio.get_event_loop() # 启动函数
task = []
loop.run_until_complete(asyncio.wait(task))

  • 打开浏览器
    brower = await launch(self.options)
    # 当pyppeteer通过launch()或 连接到chrome时,会创建一个Browser对象connect()
  • 打开一个新得页面
    page = await self.brower.newPage()
  • 设置浏览器界面
    page.setViewport(viewport={'width': 1280, 'height': 800})
  • 设置浏览器UA
    page.setUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36")
  • 跳转到目标页面
    await self.page.goto(self.login_url)
  • xpath 匹配目标
    result = await self.page.xpath("//iframe[@id='J_loginIframe']/@src")
  • 返回
    # 为list,如果需要提取信息,或点击,需要获取该 list 中得某一个元素进行
	url = await (await target[0].getProperty('textContent')).jsonValue()
  • 提取
    # xpath 匹配目标结果
    await self.page.type('#TPL_username_1', self.username, {'delay': self.InputTimeRandom() - 50})
  • 输入操作
	使用 css 查找器
	    '#TPL_u sername_1'
	    css 匹配
	self.username
  • 设置间隔,避免输入太快
  		 {'delay': self.InputTimeRandom() - 50}
  • 获得 cookies
    await page.cookies()
  • 获得页面
    await page.content()
  • 获得标题
    await page.title()
  • 关闭浏览器
    await browser.close()
  • 解析,获得 text
    await (await item[0].getProperty('textContent')).jsonValue()
  • 获得 href 属性
    await (await item[0].getProperty('href')).jsonValue()
评论
留下你的脚步
推荐阅读