r - 树莓派上的 Selenium/standalone-firefox docker 无法工作 : how to use RSelenium on a raspberryPi

标签 r selenium docker raspberry-pi rselenium

我正在尝试在树莓派 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 镜像。我找到了这些:

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 版本并确保它们兼容......

参见thisthis

关于r - 树莓派上的 Selenium/standalone-firefox docker 无法工作 : how to use RSelenium on a raspberryPi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58895788/

相关文章:

r - ggplot2:用于标记多个 geom_abline 斜率的图例

r - 将长日期字符串转换为 R 中的日期

r - 将最大水平添加到两个因素

docker - 无法在主机外部访问docker kibana

R - 在数据框中插入缺少日期的行

java - 带有 Tor 的 RSelenium 以及 Windows 上的新 RSelenium 版本

java - cucumber 与朱尼特

java - 如何使用 Java 在 Axe-Core 中运行特定标签的可访问性测试

docker - 如何查找在gitlab中运行的docker-in-docker的URL

docker - 可以从不是容器的Docker镜像检索文件吗?