前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web自动化|pyppeteer的使用-python版本puppeteer

web自动化|pyppeteer的使用-python版本puppeteer

作者头像
测试邦
发布2019-09-10 16:01:22
2.8K0
发布2019-09-10 16:01:22
举报
文章被收录于专栏:测试邦测试邦

一、介绍

puppeteer: web自动化测试-puppeteer入门与实践

pyppeteer:puppeteer的非官方python库.支持python3.5|3.6|3.7

二、环境准备

1.安装python3

2.安装pypptr

python3 -m pip install pyppeteer

三、实例

import asyncio
from pyppeteer import launch
async def main():
    browser = await launch()
    page = await browser.newPage()
    await page.goto('http://www.baidu.com')
    await page.screenshot({'path': 'baidu.png'})


    dimensions = await page.evaluate('''() => {
        return {
            width: document.documentElement.clientWidth,
            height: document.documentElement.clientHeight,
            deviceScaleFactor: window.devicePixelRatio,
        }
    }''')
    print(dimensions)
    # >>> {'width': 800, 'height': 600, 'deviceScaleFactor': 1}
    await browser.close()
asyncio.get_event_loop().run_until_complete(main())

执行: python3 pypptr-demo.py

![image.png](https://upload-images.jianshu.io/upload_images/2054612-209615e999320d8d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

第一次执行回去下载chromium,执行后看到控制台有打印信息,在工程目录下有截图。

四、puppeteer与pyppeteer的不同点

puppeteer与pyppeteer大部分情况下是很相同的,由于javascript与python的不同语言特性让这两者有了区别。

1.参数

javascript:

    const browser = await puppeteer.lauch({headless:true})

python:

        browser = await launch({'headless':'True'})
or    browser = await launch(headless=True)

人对于pypptr 即支持字典也支持Keyword风格的参数。

2.元素选择器方法名($ -> querySelector)

在python中,$不能用于方法名。因此,pyppeteer使用Page. queryselector ()/Page.queryselectorall()/Page.xpath()代替Page.$()/Page.$$()/Page.$x(). Pyppeteer还为这些方法提供了缩写,Page.J()、Page.JJ()和Page.Jx()。

puppeteer:

  await page.$('#kw')

pypptr:

  await page.queryselector('#kw')
or await page.J('#kw')

五、使用问题

1.Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:8....

解决:

pip3 install --upgrade certifi 
open /Applications/Python\ 3.6/Install\ Certificates.command

pypptr doc:[https://miyakogi.github.io/pyppeteer/index.html](https://miyakogi.github.io/pyppeteer/index.html)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试邦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档