无法将 RSelenium 连接到 Selenium 服务器:“已达到超时”

时间:2021-01-03 01:29:18

标签: r docker selenium rselenium docker-selenium

我对 Selenium 和 RSelenium 完全陌生。我安装了 Docker 并让它运行一个 Selenium 镜像,但我一直坚持通过 RSelenium 包连接到它。

我尝试将许多不同的参数传递给 remoteDriver(),但是每当我尝试 $open() 驱动程序时,我都会收到以下错误:

remDr<-remoteDriver([IP], 4444, "chrome")
remDr$open()
[1] "Connecting to remote server"
Error in checkError(res) : Undefined error in httr call. httr output: Timeout was reached: [...] Connection timed out after 10005 milliseconds

我总是将浏览器设置为“chrome”。

通过在命令提示符下运行“docker container ls”,我发现我尝试连接的容器具有以下端口参数:4444/tcp、0.0.0.0:4444->4445/tcp。因此,我尝试将 4444 或 4445(带或不带 L)传递给函数中的端口参数。

我想真正的问题是远程服务器地址。通过在命令提示符下运行“docker inspect CONTAINER_ID”,我得到了一个杂乱的特征列表,并从中提取了所有可以想象的 IP 地址的可能性。

该列表中有关 IP 的值得注意的段落是:

"NetworkSettings"
       "Gateway": [ActualIP1],
       "GlobalIPv6Address": "",
       "GlobalIPv6PrefixLen": 0,
       "IPAddress": [ActualIP2],
       "IPPrefixLen": 16,
       "IPv6Gateway": "",
       "Networks": {
           "bridge": {
               "Gateway": **[ActualIP1]**,
               "IPAddress": **[ActualIP2]**,
               "IPPrefixLen": 16,
               "IPv6Gateway": "",
               "GlobalIPv6Address": "",
               "GlobalIPv6PrefixLen": 0,

有了这个,我尝试将以下值传递给 remoteServerAddr 参数:“localhost”,只需将其留空(默认为 localhost)、“0.0.0.0”、ActualIP1 和 ActualIP2。

它永远不会奏效。例如,我在使用 0.0.0.0 时遇到了不同的错误,但我只是出于绝望才尝试过。我希望 ActualIP2 是正确的设置,但事实并非如此 - 或者还有其他错误,我无法想象它是什么。

有人可以帮我吗?我在 Windows 10 上,使用 RStudio 1.3.1093。 Selenium 在由 Docker Desktop 3.0.0 提供支持的容器上运行。

0 个答案:

没有答案