Firefox中的Docker容器可以从另一个中的selenium访问

Top*_*erH 6 selenium watir watir-webdriver selenium-webdriver docker

我有一个docker容器运行一个rails应用程序(我们称之为容器A)需要使用firefox作为后端使用watir webdriver进行一些抓取.

我在另一个容器(容器B)中安装了firefox,我希望能够传入容器A,例如:

Selenium::WebDriver::Firefox::Binary.path= $DOCKER_RUN_CONTAINER_A
Run Code Online (Sandbox Code Playgroud)

因此,每次watir启动firefox时,CONTAINER_A的新实例都会启动一个新的Firefox.

我知道容器使用端口进行通信很容易,但可执行文件怎么样?并且,顺便说一下,将firefox隔离在一个单独的容器中看起来是一个好的设计理念吗?

dja*_*fan 1

是的,这很容易做到。只需在 docker 服务器的前台(在端口 5555 或其他端口上)运行 Selenium Grid 的实例(默认情况下是网格节点混合组合)。然后,您可以使用 Ruby 和 Selenium 绑定(不是 WatiR)来驱动远程机器上的 Firefox 浏览器。