Selenium/standalone-firefox docker raspberry pi 不工作:如何在树莓派上使用 Selenium
Selenium/standalone-firefox docker on raspberry pi not working: how to use RSelenium on a raspberryPi
我正在尝试在 raspberry pi 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
(拉取和执行),结果出现了同样的问题。我做错了什么? raspberry pi 不支持 standalone-firefox 版本?
更一般地说,有人知道如何让 RSelenium
在 raspberry pi(使用 firefox 作为浏览器)上工作吗?
编辑
根据 LinPy 的回答,我尝试提取 docker 与 raspberry pi arm 架构兼容的 selenium 浏览器的图像。我找到了这些:
- https://hub.docker.com/u/kynetiv/
- https://hub.docker.com/r/deinchristian/rpi-selenium-node-firefox
- https://hub.docker.com/u/pun4drunk/
docker containers 运行 没有问题,但我从来没有管理过 RSelenium
中的remoteDriver连接到broswer(不同原因不同的错误,我在这里不详细说明).
我发现在没有远程服务器的情况下在 raspberry-pi 上使用 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()
最后就是这么简单。
您错误地使用了 docker 容器。您实际上可以看到您的容器在执行 docker ps -a,但这并不好。您指定了 -p 参数并且没有向其传递任何端口,并且您传递了没有标签的图像。按照这张图片的官方文档一步步重试:
我认为您的应用与 os ARCH 不匹配。实际上它看起来像是为 amd64 构建的应用程序,但你尝试在 arm 上启动它。
所以请检查您的 Docker / APP 版本并确保它们兼容....
我正在尝试在 raspberry pi 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
(拉取和执行),结果出现了同样的问题。我做错了什么? raspberry pi 不支持 standalone-firefox 版本?
更一般地说,有人知道如何让 RSelenium
在 raspberry pi(使用 firefox 作为浏览器)上工作吗?
编辑
根据 LinPy 的回答,我尝试提取 docker 与 raspberry pi arm 架构兼容的 selenium 浏览器的图像。我找到了这些:
- https://hub.docker.com/u/kynetiv/
- https://hub.docker.com/r/deinchristian/rpi-selenium-node-firefox
- https://hub.docker.com/u/pun4drunk/
docker containers 运行 没有问题,但我从来没有管理过 RSelenium
中的remoteDriver连接到broswer(不同原因不同的错误,我在这里不详细说明).
我发现在没有远程服务器的情况下在 raspberry-pi 上使用 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()
最后就是这么简单。
您错误地使用了 docker 容器。您实际上可以看到您的容器在执行 docker ps -a,但这并不好。您指定了 -p 参数并且没有向其传递任何端口,并且您传递了没有标签的图像。按照这张图片的官方文档一步步重试:
我认为您的应用与 os ARCH 不匹配。实际上它看起来像是为 amd64 构建的应用程序,但你尝试在 arm 上启动它。
所以请检查您的 Docker / APP 版本并确保它们兼容....