Raspberry Pi上的Selenium / standalone-firefox docker不起作用:如何在raspberryPi上使用RSelenium

问题描述 投票:1回答:2

我正在尝试在树莓派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的回答,我尝试提取与树莓派pi架构兼容的硒浏览器的docker镜像。我发现了这些:

docker容器运行没有问题,但是我从不设法将remoteDriver连接到RSelenium中的浏览器(由于不同的原因而有不同的错误,在此不再赘述)。

我发现在没有远程服务器的树莓派上使用RSelenium的唯一方法是执行Java硒独立服务器,您可以找到here(我尝试过2.53.0):

java -jar selenium-server-standalone-2.53.0.jar

然后在R中连接到它:

library(RSelenium)
rmDr <- remoteDriver(port = 4444L)
rmDr$open()

最后就这么简单。

r selenium docker raspberry-pi rselenium
2个回答
2
投票

我认为您的应用程序与os ARCH之间存在不匹配的情况。实际上,这似乎是为amd64构建应用程序,但是您可以尝试将其启动。

因此请检查您的Docker / APP版本,并确保它们兼容。...

请参见thisthis


0
投票

您不正确地使用了Docker容器。您实际上可以看到您的容器正在执行docker ps -a,但这不是很好。您指定了-p参数,并且未将任何端口传递给该参数,并且您传递的图像没有标签。请遵循此图像的官方文档,然后逐步尝试:

https://github.com/SeleniumHQ/docker-selenium

© www.soinside.com 2019 - 2024. All rights reserved.