首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RSelenium RemoteDriver未连接到端口4445L

RSelenium RemoteDriver未连接到端口4445L
EN

Stack Overflow用户
提问于 2021-02-28 11:11:37
回答 1查看 202关注 0票数 1

我一直在这里关注Docker/RSelenium教程:https://docs.ropensci.org/RSelenium/articles/docker.html

我已经成功地托管了自己的Selenium服务器:

代码语言:javascript
复制
# sudo docker ps

CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS         PORTS                              NAMES
0c673ba37477   selenium/standalone-chrome:88.0   "/opt/bin/entry_poin…"   3 minutes ago   Up 3 minutes   5900/tcp, 0.0.0.0:4445->4444/tcp   zealous_shannon

根据本教程,当我运行以下命令时:

代码语言:javascript
复制
library(RSelenium)
remDr <- remoteDriver(port = 4445L)
remDr$open()

我得到以下输出,但没有错误消息:

代码语言:javascript
复制
[1] "Connecting to remote server"
$id
[1] NA

预期输出为:

代码语言:javascript
复制
## [1] "Connecting to remote server"
## $applicationCacheEnabled
## [1] TRUE
## 
## $rotatable
## [1] FALSE
## 
## $handlesAlerts
## [1] TRUE
## 
## $databaseEnabled
## [1] TRUE
## 
## $version
## [1] "45.0.2"
## 
## $platform
## [1] "LINUX"
## 
## $nativeEvents
## [1] FALSE
## 
## $acceptSslCerts
## [1] TRUE
## 
## $webdriver.remote.sessionid
## [1] "644c353a-34b8-4bb4-bcff-746df5a30af8"
## 
## $webStorageEnabled
## [1] TRUE
## 
## $locationContextEnabled
## [1] TRUE
## 
## $browserName
## [1] "firefox"
## 
## $takesScreenshot
## [1] TRUE
## 
## $javascriptEnabled
## [1] TRUE
## 
## $cssSelectorsEnabled
## [1] TRUE
## 
## $id
## [1] "644c353a-34b8-4bb4-bcff-746df5a30af8"

这会阻止我继续学习本教程。知道为什么我通过RemoteDriver的连接不能正常工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-28 20:25:56

为您使用的操作系统和浏览器正确设置连接参数。如果映像基于chrome浏览器,并且驱动程序的默认配置为firefox

要更改此设置,您需要添加browserName = "chrome"。为了清楚起见,我建议总是添加服务器的IP地址,因此,添加remoteServerAddr = <<server IP>>

找出驱动程序默认参数的方法是检查实例化的远程驱动程序,remDr将向您显示驱动程序的默认配置。

代码语言:javascript
复制
>remDr
$remoteServerAddr
[1] "localhost"

$port
[1] 4445

$browserName
[1] "firefox"

$version
[1] ""

$platform
[1] "ANY"

$javascript
[1] TRUE

$nativeEvents
[1] TRUE

$extraCapabilities
list()

因此,在设置了正确的参数之后,我就能够在暴露的端口上连接到RSelenum。

代码语言:javascript
复制
library(RSelenium)
> remDr <- remoteDriver(
+   remoteServerAddr = "localhost",
+   port = 4445L,
+   browserName = "chrome")
> remDr$open()
[1] "Connecting to remote server"
$acceptInsecureCerts
[1] FALSE

$browserName
[1] "chrome"

$browserVersion
[1] "88.0.4324.150"

$chrome
$chrome$chromedriverVersion
[1] "88.0.4324.96 (68dba2d8a0b149a1d3afac56fa74648032bcf46b-refs/branch-heads/4324@{#1784})"

$chrome$userDataDir
[1] "/tmp/.com.google.Chrome.egZzL9"


$`goog:chromeOptions`
$`goog:chromeOptions`$debuggerAddress
[1] "localhost:36841"


$networkConnectionEnabled
[1] FALSE

$pageLoadStrategy
[1] "normal"

$platformName
[1] "linux"

$proxy
named list()

$`se:options`
$`se:options`$cdp
[1] "http://172.17.0.2:4444/session/eaed604c5fae33476755e4ba3e1c1d9e/se/cdp"


$setWindowRect
[1] TRUE

$strictFileInteractability
[1] FALSE

$timeouts
$timeouts$implicit
[1] 0

$timeouts$pageLoad
[1] 300000

$timeouts$script
[1] 30000


$unhandledPromptBehavior
[1] "dismiss and notify"

$`webauthn:extension:largeBlob`
[1] TRUE

$`webauthn:virtualAuthenticators`
[1] TRUE

$id
[1] "eaed604c5fae33476755e4ba3e1c1d9e"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66405491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档