当前位置: 首页 > 面试题库 >

RSelenium UnknownError-Google Chrome的java.lang.IllegalStateException

司雅畅
2023-03-14
问题内容

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

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)

基于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. 下载 Java的64位版本。 我无法使用标准下载。
  2. 下载 ChromeDriver。
  3. 下载 Selenium独立服务器或checkForServer()从R 运行。
  4. 创建一个批处理文件以启动Selenium服务器。 我最初尝试使用startServer()R脚本,但是它经常卡住并且无法继续执行脚本的下一行。这是我创建的批处理文件
    java -jar C:\path\to\selenium-server-standalone.jar -Dwebdriver.chrome.driver=C:\path\to\chromedriver.exe
    

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

  1. 运行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()调用是必要的,因为remoteDriver()如果在Selenium Server完成启动之前运行该调用,我会在调用中遇到错误。



 类似资料:
  • 我是一个基本的Python程序员。我想改变谷歌铬的设置,特别是代理和局域网设置自动与程序。我试着看网络浏览器库,但我认为这还不够。我看了硒库,但是我不知道从哪里开始在库中查找我的需求,有人能提供一个资源或方法来自动化我的任务吗?我看了另一个描述使用c#的过程的问题。但那不是我的问题。我想要我的确切目的所需的留档。 http://seleniumhq.github.io/selenium/docs/

  • 我在Chrome中看到许多与img标签(响应图像)上的srcset属性不一致的地方40.0.2214.91 在我更新到Chromev40之前(我在~39),srcset属性工作正常,并且会在浏览器调整大小时交换图像。现在,有时,如果我将浏览器设置为所需的宽度,则会显示较小版本的图像,然后刷新页面。其他时候,它将无法工作。 测试jsbin:http://jsbin.com/hulaconake/1/

  • 我在通过html vscode调试连接到chrome时遇到问题。每次我进入运行菜单并点击“开始调试”或“不调试运行”,谷歌chrome都会打开并显示新选项卡,而不是我正在调试的文件。当我返回vscode时,我发现调用堆栈是空的。我还尝试过使用文件。我以前从未遇到过这个问题。我能够在没有chrome调试器扩展(现已弃用)的情况下用chrome调试html。我不知道为什么我现在会有这些问题。请有人帮我

  • 在将Selenium Web驱动程序C#与Chrome一起使用时,我遇到了一种常见情况:如果运行测试的进程是“以管理员身份运行”(Visual Studio或),Chrome将无法加载。 上下文 OS: Windows 7 x64 Chrome:版本64.0.3282.167(官方构建)(64位) Selenium. Chrome. WebDriver(chromedriver.exe): 2.3

  • 我正在尝试在AmazonLinux上设置一个jenkins服务器来托管我的自动化框架,其中包含Selenium-webDrive(3.142.0)和ruby(2.3.7)。如果我尝试使用我的脚本调用chrome驱动程序,它会说, “Selenium::WebDriver::Error::UnknownError:未知错误:Chrome无法启动:异常退出(未知错误:DevToolsActivePor

  • 问题内容: 我在运行我的应用程序时遇到了此类错误。它偶尔会发生,所以我不知道此错误产生于我的代码中的确切原因。该异常不会告诉任何明确的细节。 一段堆栈跟踪。 请问有人帮助过这个错误吗?我正在使用jboss 6,seam 2,jsf 2和richfaces 3。 问题答案: 在JBoss Wiki中 对此进行了回答。这里是相关的: 许多持久性框架(Hibernate2 / OBJ)“随机”打开和关闭