RSelenium cannot connect to Chrome - r

I am setting up Selenium in R
library(RSelenium)
rD <- RSelenium::rsDriver(browser="chrome")
When i run rsDriver(), it brought up chrome and gave the following errors
[1] "Connecting to remote server"
Selenium message:unknown error: unable to discover open pages
(Driver info: chromedriver=71.0.3578.33 (269aa0e3f0db08097f0fe231c7e6be200b6939f7),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.99 seconds
Build info: version: '3.141.5', revision: 'd54ebd709a', time: '2018-11-06T11:58:47'
System info: host: 'ELI-T460', ip: '172.xx.xx.xx', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_191'
Driver info: driver.version: unknown
Could not open chrome browser.
Client error message:
Summary: UnknownError
Detail: An unknown server-side error occurred while processing the command.
Further Details: run errorDetails method
Check server log for further details.
I have tried to run with older version of chromedriver and it gave the same error.

Related

R - Selenium endlessly loads webpage

I've been successfully running a script daily for a while, but now it seems to be throwing a timeout error.
chromever = "96.0.4664.45"
rD <- rsDriver(browser="chrome", port= free_port(), chromever = chromever)
remDr <- rD[["client"]]
remDr$navigate("https://www.theweathernetwork.com/ca/14-day-weather-trend/british-columbia/coquitlam")
pageinfo <- read_html(remDr$getPageSource()[[1]])
precipitation <- pageinfo %>% html_nodes(".wxCell .wxObs") %>% html_text()
On the navigate line, the webpage endlessly loads, eventually throwing the following error:
Selenium message:timeout: Timed out receiving message from renderer: 299.608
(Session info: chrome=96.0.4664.45)
Build info: version: '4.0.0-alpha-2', revision: 'f148142cf8', time: '2019-07-01T21:30:10'
System info: host: 'WSS-WEATHER', ip: '*my ip here*', os.name: 'Windows Server 2016', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_291'
Driver info: driver.version: unknown
Error: Summary: Timeout
Detail: An operation did not complete before its timeout expired.
class: org.openqa.selenium.TimeoutException
Further Details: run errorDetails method
Chrome hasn't updated or anything, so I'm not sure what may have caused this to start happening seemingly out of the blue. Any ideas?

RSelenium not opening browser

I am trying to simply open a browser with RSelenium with the following code:
library(RSelenium)
remDr <- rsDriver(
port = 4446L,
browser = "chrome",
chromever = "87.0.4280.88"
)
remDr$open()
I am receiving the following error:
Selenium message:Timed out waiting for driver server to start.
Build info: version: '4.0.0-alpha-2', revision: 'f148142cf8', time: '2019-07-01T21:30:10'
System info:os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.6', java.version: '15.0.1'
Driver info: driver.version: unknown
Could not open chrome browser.
Client error message:
Summary: UnknownError
Detail: An unknown server-side error occurred while processing the command
Further Details: run errorDetails method
Check server log for further details.
I have checked and my chrome version is the following: Version 87.0.4280.141. When I run binman::list_versions("chromedriver"), I have the following versions available "87.0.4280.88" "88.0.4324.27". I have tried both of these versions in the script above but I receive the same error. I am not sure what else to try so if anyone has any suggestions, I would greatly appreciate it. I am running this on a Mac.

R RSelenium/seleniumPipes Unknown error: cannot find Chrome binary

I try to connect with Selenium in R using the Chrome browser on Win10.
I installed Chrome 74.0.3729.61 and added the chrome.exe path to the Environment Variables.
devtools::install_github("johndharrison/seleniumPipes")
devtools::install_github("ropensci/Rselenium")
#start selenium
selServ <- selenium()
# check ports
selServ$log()$stderr
# conect using port
sel <- remoteDr(browserName = "chrome", port = 4567)
gives me the following error message:
Called newSession - Try no: 1 of 3
Called newSession - Try no: 2 of 3
Called newSession - Try no: 3 of 3
Error detected:
Response status code : 500
Selenium Status code: 13
Selenium Status summary: UnknownError
Selenium Status detail: An unknown server-side error occurred while processing the command.
Selenium message: unknown error: cannot find Chrome binary
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729#{#29}),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 40 milliseconds
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: ... , os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_201'
Driver info: driver.version: unknown
Please check the response with errorResponse()
Please check the content returned with errorContent()
I found some guidance for Python (Cannot find Chrome binary with Selenium in Python for older versions of Google Chrome) and c# (Selenium WebDriver - Could not find Chrome binary), however, I do not know how to implement it in R.
IMHO you need to download and run chomedriver.exe(if you are using Windows 10, as you mentioned) before to use selenium.
Could you try below solution?
Solution 1. on command window
java -Dwebdriver.chrome.driver="C:/{yourPath}/selenium/chromedriver.exe" -jar "C:/{yourPath}/selenium/selenium-server-standalone-3.141.59.jar" -port 4567
or
Solution 2. direct use R script
rstudioapi::terminalExecute('java -Dwebdriver.chrome.driver="C:/{yourPath}/selenium/chromedriver.exe" -jar "C:/{yourPath}/selenium/selenium-server-standalone-3.141.59.jar" -port 4567')
Yes, both are same command exactly. You are able to use anyone you want.

Unable to open Gecko Driver with RSelenium package in R without using Docker

I am unable to connect to the Selenium server.
I'm using RSelenium to automate data collection for a school project.
What baffles me is that it has worked every day for two weeks now, but I restarted my macbook so had to reconnect to the Selenium server, and now I can't make it run.
I've tried reinstalling firefox, the geckodriver, the selenium standalone server, and tried running it with chrome.
I've put this in the terminal:
java -jar /Users/x/data/selenium-server-standalone-3.141.59.jar -port 5556
This is what I do in R:
remDr <- RSelenium::remoteDriver(extraCapabilities = list(marionette = TRUE), port=5556)
remDr$open()
I get this error message when running remDr$Open():
Selenium message:Unable to create new service: GeckoDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'MacBook-Pro-3.local', ip: '[sensitive info removed]', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.3', java.version: '11.0.2'
Driver info: driver.version: unknown
Error: Summary: SessionNotCreatedException
Detail: A new session could not be created.
Further Details: run errorDetails method
I am able to run it with Docker and Tight VNC, but sadly this throws a lot of errors as I need to use the debug version for my data collection.
Hmmm never seen this type of error before. #jdharrison can you look at this?

RSelenium error when connecting to server using Internet Explorer in windows

I try to use the RSelenium in windows with IE as browser as it seems there are some discrepancies with other browsers, and need some fixing with the newer versions.
I do as previously instructed in SO answers:
library(RSelenium)
startServer()
remDr <- remoteDriver(browser="internet explorer")
remDr$open()
remDr$open()
[1] "Connecting to remote server"
Selenium message:Unable to create new remote session. desired capabilities = Capabilities [{nativeEvents=true, browserName=internet explorer, javascriptEnabled=true, version=, platform=ANY}], required capabilities = Capabilities [{}]
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
System info: host: 'CL5065F329EBF2', ip: '130.115.158.36', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_91'
Driver info: driver.version: InternetExplorerDriver
Error: Summary: SessionNotCreatedException
Detail: A new session could not be created.
class: org.openqa.selenium.SessionNotCreatedException
Further Details: run errorDetails method
Also when starting server or checking for servers I receive errors regarding deprecated use of the function.
For example:
startServer()
Warning message:
startServer is deprecated.
Users in future can find the function in file.path(find.package("RSelenium"), "example/serverUtils").
The sourcing/starting of a Selenium Server is a users responsiblity.
Options include manually starting a server see vignette("RSelenium-basics", package = "RSelenium")
and running a docker container see vignette("RSelenium-docker", package = "RSelenium")

Resources