python中forward属性_python-pyppeteer模块使用汇总

一.简单代码示例

import asyncio

from pyppeteer import launch

async 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

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

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对象。

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()

页面文本

print(await page.evaluate('document.body.textContent', force_expr=True)) 这样也行

cookies()

页面cookies

title()

标题

7.获取元素

返回都是ElementHandle或者None

print(await page.querySelector('div选择器')) #获取第一个

print(await page.querySelectorAll("CSS选择器")) #获取全部

querySelectorEval('css选择器','js_str','前面js需要的参数') #获取第一个并对其执行js

querySelectorAllEval('css选择器','js_str','前面js需要的参数') #获取全部并对其执行js

await page.xpath('xpath选取器')

8.等待方式

# 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("").inner‌​Text.length == 7')

9.获取ElementHandle里的属性或者文本

await (await ElementHandle_obj.getProperty('属性')).jsonValue()

await (await ElementHandle_obj.getProperty('textContent')).jsonValue() #文本

10.与浏览器交互

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值