我正在尝试将RSelenium
与Docker
结合使用来抓取网站。但是,我在尝试使RSelenium
/ Docker
正常工作时遇到了一些问题。
具体地说,我在计算机上安装了Docker
,它似乎运行良好(打开鲸鱼时,我在下面看到它的图像)。
然后在R中,我顺利运行以下代码,并查看预期的输出。
shell('docker run -d -p 4445:4444 selenium/standalone-chrome')
shell('docker ps')
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7de815ce644 selenium/standalone-chrome "/opt/bin/entry_poin…" 13 minutes ago Up 13 minutes 0.0.0.0:4445->4444/tcp zen_mclean
但是当我随后运行以下代码时,我总是收到以下错误消息:
remDr <- RSelenium::remoteDriver(remoteServerAddr = "localhost",
port = 4444,
browserName = "chrome")
remDr$open()
[1] "Connecting to remote server"
Error in checkError(res) :
Undefined error in httr call. httr output: Failed to connect to localhost port 4444: Connection refused
我不确定这里发生了什么(我是新手)。有人可以帮我弄清楚该怎么办吗?
如果有帮助,我正在运行Windows 10。
答案 0 :(得分:0)
在Docker中,您已将主机端口4445绑定到selenium-driver端口4444。
这意味着如果您在主机中运行R,则需要指定端口= 4445
能解决吗?
答案 1 :(得分:0)
我设法通过卸载正在使用的Docker Toolbox和VMBox并从他们的网站上安装了最新版本的Docker来解决了这个问题。