请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

python-pyppeteer模块使用汇总

[复制链接]
查看: 38|回复: 0

8158

主题

8158

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
24484
发表于 2019-12-2 22:51 | 显示全部楼层 |阅读模式
一.简单代码示例
  1. import asynciofrom pyppeteer import launchasync def main():    browser = await launch()    page = await browser.newPage()    #翻开一个新页面    await page.goto('https://www.baidu.com/')  #拜候百度    await page.screenshot({'path': 'baidu.png'})  #截图并存储    await browser.close()asyncio.get_event_loop().run_until_complete(main())
复制代码
二.page工具的方式

await page.方式
1.设备关连

setUserAgent(str)

设备UserAgent
setCookie(cookie1, cookie2.......)

设备cookie
  1. cookies 应当是包含这些字段的字典:name(str):必填value(str):必填url (STR)domain (STR)path (STR)expires (数字):Unix时候,以秒为单元httpOnly (布尔)secure (布尔)sameSite(str):'Strict'或'Lax'
复制代码
2.页面关连

goto(url)

拜候网页
reload()

页面加载终了
goBack()/goForward()

页面退却/页面进步
3.履行js

evaluate(js_str)

对于某个元素履行js
4.截图

screenshot(dict)

dict中key
  1. path(str):保存图像的文件途径。屏幕截图典范将从文件扩大名中揣度出来。 #底子上写个这个就够了type(str):指定屏幕截图典范,可所以jpeg或 png。默以为png。quality(int):图像的质量,在0-100之间。不适用于png图像。fullPage(bool):假如为true,请截取完整的可转动页面。默以为False。clip(字典):指定页面剪切地域的工具。此选项应包含以下字段:x (int):剪辑地域左上角的x坐标。y (int):剪辑地域左上角的y坐标。width (int):剪切地域的宽度。height (int):剪切地域的高度。omitBackground (bool):隐藏默许的红色布景并答应捕捉具有通明度的屏幕截图。
复制代码
5.保存pdf

pdf(dict)

返回: 返回天生的PDF bytes工具。
  1. path (str):保存PDF的文件途径。scale(float):网页衬着的比例,默以为1。displayHeaderFooter(bool):表现页眉和页脚。默以为False。headerTemplate(str):打印题目标HTML模板。应当是有用的HTML标志与以下类。date:格式化的打印日期title:文件名url:文件位置pageNumber:当前页码totalPages:文档中的总页数footerTemplate(str):打印页脚的HTML模板。应当操纵类似的模板headerTemplate。printBackground(bool):打印布景图形。默以为 False。landscape(bool):纸张偏向。默以为False。pageRanges(字符串):要打印的纸张范围,例如“1-5,8,11-13”。默以为空字符串,暗示全数页面。format(str):纸张格式。假如设备,优先于 width或height。默以为Letter。width (str):纸张宽度,担任标有单元的值。height (str):纸张高度,担任标有单元的值。margin(字典):纸张边距,默以为None。top (str):上边距,担任标有单元的值。right (str):右侧距,担任标有单元的值。bottom (str):底部边距,担任标有单元的值。left (str):左侧距,担任标有单元的值。
复制代码
6.获得内容

content()

页面文本
  1. print(await page.evaluate('document.body.textContent', force_expr=True)) 这样也行
复制代码
cookies()

页面cookies
title()

题目
7.获得元素

返回都是ElementHandle大要None
  1. print(await page.querySelector('div挑选器'))    #获得第一个print(await page.querySelectorAll("CSS挑选器"))  #获得全数querySelectorEval('css挑选器','js_str','前面js需要的参数')  #获得第一个并对其履行jsquerySelectorAllEval('css挑选器','js_str','前面js需要的参数') #获得全数并对其履行jsawait page.xpath('xpath拔取器')
复制代码
8.等待方式
  1. # await page.waitForXPath('h3', timeout=300)# await page.waitForNavigation(waitUntil="networkidle0")# await page.waitForFunction('document.getElementByTag("h3")')# await page.waitForSelector('.t')# await page.waitFor('document.querySelector("#t")')# await page.waitForNavigation(waitUntil='networkidle0')# await page.waitForFunction('document.querySelector("").innerText.length == 7')
复制代码
9.获得ElementHandle里的属性大要文本
  1. await (await ElementHandle_obj.getProperty('属性')).jsonValue()await (await ElementHandle_obj.getProperty('textContent')).jsonValue()  #文本
复制代码
10.与欣赏器交互

request_html中render操
可以参考这个应为request_html就是封装了pyppeteer

免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 淄博新闻网-淄博日报 淄博晚报 淄博财经新报 掌中淄博 淄博专业新闻资讯发布网站 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表