Как запустить локальный хром вместо локального chrome с помощью RSelenium? - PullRequest
0 голосов
/ 07 января 2020

Я бы хотел запустить хром МЕСТНО, а не chrome, используя RSelenium. Я попробовал приведенные ниже попытки кода, но не могу заставить его работать (я запускаю Ubuntu):

Запуск в качестве автономного образа работает, но я считаю, что автономный вариант менее стабилен, чем локально запущенный экземпляры селена. По этой причине я хотел бы иметь возможность запускать хром напрямую локально, а не с помощью автономного образа. Также это работает, только если у вас установлен хром, а не chrome:

#RUNNING STANDALONE WORKS AS BELOW IF CHROME IS NOT INSTALLED (with automatic download of the standalone file):

port <- 4444
if(!file.exists(paste0(getwd(),"/tempjar/selenium-server-standalone-3.141.59.jar"))){
      download.file(url="https://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar",destfile="tempjar/selenium-server-standalone-3.141.59.jar")
      Sys.sleep(2)
      system(paste0("unzip -o ",getwd(),"/tempjar/selenium-server-standalone-3.141.59.jar -d ",getwd(),"/tempjar/"), wait=T)
      Sys.sleep(1)
      Sys.setenv(Dwebdriver.chrome.driver=paste0(getwd(),"/tempjar/selenium-server-standalone-3.141.59.jar"))
      Sys.sleep(1)
    }
  }

  system(paste0("java -jar ",getwd(),"/tempjar/selenium-server-standalone-3.141.59.jar -port ",port), wait=F)
  Sys.sleep(5)
  library(RSelenium)

  ###launches chromium if chrome is NOT INSTALLED:
 remDr <- remoteDriver(remoteServerAddr="localhost",port=port,browserName="chrome", extraCapabilities=eCaps) ###WORKS
 remDr$open() ###WORKS

Попытка # 1 для локального запуска без автономного режима (не работает):

library(RSelenium)
eCap <- list(chrome.binary.path = "/usr/bin/chromium-browser")
remDr <- rsDriver(browserName="chrome", extraCapabilities=eCap)

#ERROR Returned:
Could not open chrome browser.
Client error message:
     Summary: SessionNotCreatedException
     Detail: A new session could not be created.
     Further Details: run errorDetails method
Check server log for further details.

Попытка № 2 для локального запуска без автономного режима (не работает):

remDr <- remoteDriver(remoteServerAddr="localhost", browser="chrome",extraCapabilities = eCap, port=8080)
remDr$open()

#SAME ERROR USING either browser="chrome" -OR- browser="chromium":

[1] "Connecting to remote server"
Error in checkError(res) : 
  Undefined error in httr call. httr output: Failed to connect to localhost port 8080: Connection refused
...