r - 无法将 RSelenium 连接到 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 提供支持的容器上运行。
解决方案
推荐阅读
- javascript - Vue.Js v-bind:class 在点击时不添加类
- c# - 双向将数字转换为字母的程序
- docker - codeceptjs 测试“在每个”钩子错误无法启动 chrome 之前。一周前测试工作正常
- json - 在 Django 中访问模板中的 JSON 数据
- python - Altair - 如何将数据框列显示为具有各自颜色的标签
- awk - 用于 AWS cli 的带单引号的 awk 调用
- java - JSR 批处理 - 使用 @BatchProperty 进行构造函数注入
- android - 如何在flutter pdf生成中添加阿拉伯字符
- python - Python命名实体识别(NER):用标签替换命名实体
- c# - GET 方法将转到正确的页面,但仍然通过 POST 方法运行,并且在 URL 中有 POST