我正在尝试在树莓派 3 B+ 上使用 RSelenium
。我成功安装了 R 和 RSelenium。
我首先尝试使用rsDriver(browser = "firefox")
,但我没能成功(最终出现错误,提示“无法打开 firefox 浏览器”)。
由于建议将 RSelenium
与 docker 一起使用,我试图让 docker 运行 Selenium/firefox 独立容器。
我设法让 docker 启动并运行。 hello-world 运行以及 ubuntu bash 都可以运行(docker run -it ubuntu bash
为我提供了一个 ubuntu 终端)。
我提取了一个具有给定版本(第 3 个)的独立 Firefox 镜像
这是我的图像:
ubuntu latest f576a39bda44 2 weeks ago 46.7MB
selenium/standalone-firefox 3 d803a00f9219 3 weeks ago 756MB
hello-world latest 618e43431df9 10 months ago 1.64kB
然后我就这样做
sudo docker run -d -p 4445:4444 selenium/standalone-firefox:3
但是当我执行docker ps
时没有容器,并且
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
351866263f7b selenium/standalone-firefox:3 "/opt/bin/entry_poin…" 10 seconds ago Exited (1) 6 seconds ago fervent_noether
表明容器执行时直接退出。我尝试使用 standalone-firefox:2.53.0
(拉取并执行),它导致了同样的问题。我做错了什么?树莓派不支持standalone-firefox版本?
更一般地说,有人知道如何让 RSelenium
在树莓派(使用 Firefox 作为浏览器)上工作吗?
编辑
根据 LinPy 的回答,我尝试拉取与树莓派 Arm 架构兼容的 selenium 浏览器的 docker 镜像。我找到了这些:
- https://hub.docker.com/u/kynetiv/
- https://hub.docker.com/r/deinchristian/rpi-selenium-node-firefox
- https://hub.docker.com/u/pun4drunk/
docker容器运行没有问题,但我从来没有管理过将remoteDriver连接到RSelenium
中的浏览器(由于不同原因出现不同的错误,我在这里不详细说明)。
我发现在没有远程服务器的树莓派上使用 RSelenium 的唯一方法是执行 java selenium 独立服务器,您可以找到 here (我尝试了2.53.0):
java -jar selenium-server-standalone-2.53.0.jar
然后在 R 中连接到它:
library(RSelenium)
rmDr <- remoteDriver(port = 4444L)
rmDr$open()
最终就这么简单。
最佳答案
我认为您的应用程序和操作系统 ARCH 之间不匹配。实际上它看起来像是为 amd64 构建的应用程序,但你尝试在arm上启动它。
因此请检查您的 Docker/APP 版本并确保它们兼容......
关于r - 树莓派上的 Selenium/standalone-firefox docker 无法工作 : how to use RSelenium on a raspberryPi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58895788/