gpt4 book ai didi

java - RSelenium UnknownError - Google Chrome 的 java.lang.IllegalStateException

转载 作者:搜寻专家 更新时间:2023-11-01 01:25:43 25 4
gpt4 key购买 nike

我正在基于 RSelenium Basics CRAN page 运行以下脚本:

library(RSelenium)
startServer(args = c("-port 4455"), log = FALSE, invisible = FALSE)
remDr <- remoteDriver(browserName = "chrome")
remDr$open()

这会产生以下错误:

Exception in thread "main" java.net.BindException: Selenium is already running on port 4444. Or some other service is.
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:492)
at org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:305)
at org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:245)
at org.openqa.grid.selenium.GridLauncher.main(GridLauncher.java:64)

基于 this conversation on GitHub 的评论,我修改了我的 startServer() 命令,如下所示:

startServer(args = c("-port 4455"), log = FALSE, invisible = FALSE)

然后我在我的控制台中收到以下错误:

Error:   Summary: UnknownError
Detail: An unknown server-side error occurred while processing the command.
class: java.lang.IllegalStateException

并且在弹出的Java提示中出现这个错误:

14:38:55.098 INFO - Launching a standalone Selenium Server
14:38:55:161 INFO - Java: Oracle Corporation 25.40-b25
14:38:55.161 INFO - OS: Windows 7 6.1 amd64
14:38:55.161 INFO - v2.46.0, with Core v2.46.0. Built from revision 87c69e2
14:38:55.209 INFO - Driver class not found: com.opera.core.systems.OperaDriver
14:38:55.209 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
14:38:55:289 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4455/wd/hub
14:38:55:289 INFO - Selenium Server is up and running

我不确定缺少 Opera 驱动程序是实际错误还是只是警告。无论如何,我想使用 Chrome,所以这似乎无关紧要。我做错了什么?

最佳答案

通过将来自多个不同来源的信息拼凑在一起,我终于能够让 RSelenium 工作。我认为将所有这些信息放在一个位置会很有帮助,所以这是我让 RSelenium 在 Windows 7(64 位)上使用 Chrome 作为浏览器的过程:

  1. 下载64-bit version of Java . 我无法使用标准下载获得任何东西。
  2. 下载ChromeDriver .
  3. 下载Selenium Standalone Server或者从 R 运行 checkForServer()
  4. 创建批处理文件以启动 Selenium 服务器。我最初尝试在 R 脚本中使用 startServer(),但它经常会卡住并且不继续执行脚本中的下一行。这是我创建的批处理文件:

    java -jar C:\path\to\selenium-server-standalone.jar -Dwebdriver.chrome.driver=C:\path\to\chromedriver.exe

    ChromeDriver 可以放在 PATH 环境变量中,但我决定将 ChromeDriver 的路径添加到批处理文件中(实现相同的目标)。

  5. 运行 R 脚本。这是我的最终脚本:

    library(RSelenium)
    shell.exec(paste0("C:\\path\\to\\yourbatchfile.bat"))
    Sys.sleep(5)

    remDr <- remoteDriver(browserName = "chrome")
    remDr$open(silent = TRUE)
    remDr$navigate("http://www.google.com")

    Sys.sleep() 调用是必要的,因为如果它在 Selenium 服务器完成启动之前运行,我会在 remoteDriver() 调用中收到错误。

关于java - RSelenium UnknownError - Google Chrome 的 java.lang.IllegalStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31124702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com