美文网首页python自动化测试
web自动化|pypptr的使用-python版本puppete

web自动化|pypptr的使用-python版本puppete

作者: _夏兮 | 来源:发表于2020-01-03 21:01 被阅读0次

    介绍

    puppeteer: https://www.jianshu.com/p/9ceb75142ce3
    pypptr:puppeteer的非官方python库

    环境准备

    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

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

    puppeteer与pypptr的不同点

    puppeteer与pypptr大部分情况下是很相同的,由于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

    相关文章

      网友评论

        本文标题:web自动化|pypptr的使用-python版本puppete

        本文链接:https://www.haomeiwen.com/subject/dxvuyctx.html