[自动化测试]树莓派4B安装pyppeteer

新买了一台树莓派4B,想运行爬虫脚本。但是安装系统后,安装selenium始终无法成功。树莓派4B是arm架构,现在chrome浏览版本的webdriver不支持。根据网上教程,安装firefox,尝试了多次安装arm下的webdriver仍然没有成功。无奈只能采用pyppeteer,所以记录一下。

以下过程均是在树莓派4B的Raspberry Pi系统下实现的

1.采用pip install pyppeteer

2.(错误尝试,不用执行)终端输入pyppeteer-install安装Chromium。但是发现由于某些原因,无法下载,只能手动下载。Chromium下载地址:CNPM Binaries Mirror (npmmirror.com)

下载版本需先运行pyppeteer中的chromium_downloader.py文件中的chromium_executable() 函数

运行后我的地址是/home/用户名/.local/share/pyppeteer/local-chromium/588429/chrome-linux/chrome,其中588429及需要的版本

3、下载安装后运行程序,发现仍然无法运行。发现是由于pyppeteer-install下载的Chromium是64位的,但是树莓派4B是32位的,不符合。但是由于Raspberry pi系统中自带Chromium浏览器,我发现只需要在程序中指定Chromium浏览器位置即可,即browser = await launch(executablePath='/usr/bin/chromium-browser'),'/usr/bin/chromium-browser'是在Raspberry pi系统中的Chromium浏览器位置

测试程序如下:

#! /usr/bin/env python3
import asyncio
from pyppeteer import launch
from pyquery import PyQuery as pq
 
async def main():
    browser = await launch(executablePath='/usr/bin/chromium-browser')
    page = await browser.newPage()
    await page.goto('http://quotes.toscrape.com/js/')
    await page.screenshot(path='example.png')
    await page.pdf(path='example.pdf')
    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())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值