树莓派3b使用selenium并更换自带的chromium浏览器版本

树莓派3b自带python3.7,先安装selenium

pip3 install selenium==3.3

卸载自带的chromium

sudo apt --fix-broken install
sudo apt-get purge chromium-browser
sudo apt-get remove chromium-browser

下载chromium

进入网址:http://ports.ubuntu.com/pool/universe/c/chromium-browser/

找到要下载的版本,我下载的是90.0.4430.72,版本不要太高,这个版本测试可用

wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-browser_90.0.4430.72-0ubuntu0.16.04.1_armhf.deb

wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-browser-l10n_90.0.4430.72-0ubuntu0.16.04.1_all.deb

wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-chromedriver_90.0.4430.72-0ubuntu0.16.04.1_armhf.deb

wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg_90.0.4430.72-0ubuntu0.16.04.1_armhf.deb

wget http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg-extra_90.0.4430.72-0ubuntu0.16.04.1_armhf.deb

安装下面的顺序执行安装

sudo dpkg -i chromium-codecs-ffmpeg_90.0.4430.72-0ubuntu0.16.04.1_armhf.deb
sudo dpkg -i chromium-codecs-ffmpeg-extra_90.0.4430.72-0ubuntu0.16.04.1_armhf.deb
sudo dpkg -i chromium-browser_90.0.4430.72-0ubuntu0.16.04.1_armhf.deb
sudo dpkg -i chromium-browser-l10n_90.0.4430.72-0ubuntu0.16.04.1_all.deb
sudo dpkg -i chromium-chromedriver_90.0.4430.72-0ubuntu0.16.04.1_armhf.deb

安装成功后,查看浏览器以及驱动版本

# 查看chromedriver版本
chromedriver -v
# 查看chromium版本
chromium-browser -version

若出现版本号,则安装成功

新建python文件

from selenium import webdriver
import time
 
#输入你具体chromedriver的存放地址
browser = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')
 
browser.get("http://baidu.com")
 
time.sleep(5)
 
browser.close()

执行后如果能打开浏览器并进入百度,则安装成功。

参考:

树莓派3B安装Chromium_chromium-codecs-ffmpeg pre-depends on dpkg (>= 1.1-CSDN博客

Index of /pool/universe/c/chromium-browser (ubuntu.com) 

树莓派安装高版本Chromium和Chromedriver_chromium-browser-CSDN博客 

嵌入式开发 | 树莓派4B + Ubuntu + Python + selenium + chromium 使用_树莓派 selenium-CSDN博客 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 PySide2 中内嵌 Chromium 浏览器需要使用 QtWebEngineWidgets 模块,而使用 Selenium 控制浏览器则需要安装相应的浏览器驱动。以下是一个简单的示例代码: ```python from PySide2.QtCore import QUrl from PySide2.QtGui import QWindow from PySide2.QtWidgets import QApplication from PySide2.QtWebEngineWidgets import QWebEngineView from selenium import webdriver from selenium.webdriver.chrome.webdriver import WebDriver from selenium.webdriver.chrome.options import Options import sys import time class CustomWebEngineView(QWebEngineView): def __init__(self): super().__init__() # 创建一个 Chrome 的 Options 对象 options = Options() options.add_argument('--disable-gpu') options.add_argument('--no-sandbox') options.add_argument('--disable-dev-shm-usage') options.add_argument('--headless') # 创建一个 Chrome 的 WebDriver 对象 self.driver: WebDriver = webdriver.Chrome(options=options) # 加载页面 self.load(QUrl('https://www.baidu.com')) def closeEvent(self, event): # 关闭 WebDriver self.driver.quit() super().closeEvent(event) if __name__ == '__main__': app = QApplication(sys.argv) # 创建一个窗口 window = QWindow() # 创建一个内嵌的 WebEngineView web_view = CustomWebEngineView() web_view.setParent(window) # 显示窗口 window.show() # 进入事件循环 sys.exit(app.exec_()) ``` 在上面的示例代码中,首先我们自定义了一个 `CustomWebEngineView` 类,继承自 `QWebEngineView`,在该类的构造函数中创建了一个 Chrome 的 WebDriver 对象,并加载了一个百度首页的页面。 然后我们创建了一个窗口,并将 `CustomWebEngineView` 对象设置为该窗口的子控件。最后调用 `app.exec_()` 进入事件循环,显示窗口。在窗口关闭时,我们需要手动调用 `driver.quit()` 关闭 WebDriver。 需要注意的是,在使用 PySide2 内嵌 Chromium 浏览器时,由于 Chromium 的多进程架构,我们需要在启动 Chrome 的时候禁用 GPU 和沙盒模式。另外,为了避免浏览器窗口弹出,我们使用了 `--headless` 参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值