【问题标题】:RSelenium Connecting to a running serverRSelenium 连接到正在运行的服务器
【发布时间】:2017-04-19 15:49:27
【问题描述】:

我正在尝试使用Rselenium 来自动化我的一些更繁琐的报告任务

我已经按照instructions 下载了 Java 虚拟机 我已经通过使用下面的代码运行它

 # Run the Command at the command line
 cd selenium
 java -jar selenium-server-standalone-3.0.1.jar

在 R i 然后添加以下代码

require(RSelenium)
remDr <- remoteDriver(remoteServerAddr = "localhost" 
                  , port = 4445L
                  , browserName = "firefox"
)

remDr <- remoteDriver(port = 4445L)

remDr$open()

当我运行最后一行时,我得到了错误

[1] "连接到远程服务器" checkError(res) 中的错误: 无法连接到 http://localhost:4445/wd/hub 上的主机。 请确保 Selenium 服务器正在运行。

当我收到消息Selenium Server is up and Running 时,我可以在命令行窗口中看到服务器正在运行 谁能看到我做错了什么?

更新

我已尝试根据以下建议将端口切换到 4444,但出现错误

从 Cmd 提示符

Selenium 消息:驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置;有关详细信息,请参阅https://github.com/mozilla/geckodriver。最新版本可以从https://github.com/mozilla/geckodriver/releases下载

来自 R

错误:摘要:UnknownError 详细信息:处理命令时发生未知的服务器端错误。 类:java.lang.IllegalStateException 更多细节:运行errorDetails方法

【问题讨论】:

  • 不是selenium服务器4444的默认端口吗?
  • 我在下载并安装 Gecko 后更新了对服务器的调用:java -Dwebdriver.gecko.driver=C:/selenium/geckodriver.exe -jar selenium-server-standalone-3.0.1.jar。但是,当我尝试连接端口 4444 时,我收到错误 connection refused: connect

标签: r selenium


【解决方案1】:

从 Firefox 版本 48 开始,还需要 gecko 驱动程序来驱动带有 Selenium Server 的 Firefox 浏览器。 geckodriver 可以在https://github.com/mozilla/geckodriver/releases 下载。如果您希望手动运行 Selenium 服务器,则应该这样做

  • 将 geckodriver 路径添加到 PATH
  • 或者在JVM上设置webdriver.gecko.driver系统属性

第二种方法是这样的:

java -Dwebdriver.gecko.driver="path-to-geckodriver" -jar selenium-server-standalone-3.0.1.jar

如果您正在运行 Windows,并且已将 Selenium 独立下载到 C:\Selenium 并将 geckodriver 下载到同一位置,则如下所示:

C:\Users\john>cd C:\Selenium

C:\Selenium>java -Dwebdriver.gecko.driver="C:\Selenium\geckodriver.exe" -jar selenium-server-standalone-3.0.1.jar

注意:在 32 位 windows 机器上,您需要 32 位 geckodriver,在 64 位机器上,需要相应的 64 位 geckodriver。

另外,推荐使用 RSelenium 运行 Selenium 服务器的方法是运行 Docker 容器,其中包括 Selenium 服务器、geckodriver 和适当的 Firefox 浏览器:

docker run -d -p 5901:5900 -p 127.0.0.1:4444:4444 --link http-server selenium/standalone-firefox-debug:3.0.1-barium

http://rpubs.com/johndharrison/RSelenium-Docker查看小插图

【讨论】:

  • 嗨@jdHarrison。我之前的评论,我试过这个,虽然它删除了我原来的错误,但它似乎仍然拒绝连接。 Caused by: og.apache.http.conn.HttpHostConnectException: Connect to localhost:2 4096 [localhost/127.0.0.i. localhost/0:0:0:0:0:0:0:i] failed: Connection iefused: connect你知道怎么解决吗?
  • 似乎抛出了同样的错误,但如果我沿着错误消息向上滚动,我会在这里遇到第一个问题:C:\selenium\geckodiuer.exe [OPTIONS] C:\selenium\geckodiuer.exe: Unknown option ——port6949 Attempting bi—dialect session. assuming Postel’s Law holds true on the remote end
  • 如果 Selenium 服务器在 localhost 端口 4444 上运行,您应该能够获得其状态:http://localhost:4444/wd/hub/status
  • 我在firefox中运行了这个命令,得到了以下{"state":"success","sessionId":null,"hCode":1112234011,"value":{"build":{"version":"3.0.1","revision":"1969d75","time":"2016-10-18 09:48:19 -0700"},"os":{"name":"Windows Server 2008 R2","arch":"amd64","version":"6.1"},"java":{"version":"1.8.0_91"}},"class":"org.openqa.selenium.remote.Response","status":0}
  • 当我运行 64 位 geckodriver 而不是 32 位 geckodriver 时,我在 win 7 VM 上遇到了这个问题。这可能是您的问题。
猜你喜欢
  • 2023-04-09
  • 2023-01-03
  • 2018-01-24
  • 2021-06-10
  • 2016-10-24
  • 2012-11-03
  • 2017-10-02
  • 1970-01-01
  • 2015-08-15
相关资源
最近更新 更多