2017-08-10 3 views
0

J'essaie de gratter un site Web avec un bouton de charge plus. J'ai mis en place un serveur sélénium en utilisant une invite Windows. Le serveur Selenium est en cours d'exécution, mais je reçois toujours l'erreur suivante lorsque je lance le script en R. J'ai écrit beaucoup de posts sur le blog et j'ai essayé de trouver la réponse, mais je n'ai pas les connaissances techniques pour le comprendre. J'espère que quelqu'un est prêt à m'aider.Site de grattage avec charger plus de bouton avec R (rvest)

Erreur

[1] "Connecting to remote server"

Selenium message:The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver . The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases

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

de Windows invite

cd c:\selenium 
java -Dwebdriver.chrome.driver=c:\geckodriver\chromedriver.exe - 
Dwebdriver.gecko.driver.driver=c:\geckodriver\geckodriver.exe -jar selenium- 
server-standalone-3.4.0.jar 

R SCRIPT

library(rvest) 
library(RSelenium) 
library(stringr) 
library(xm12) 
library(wdman) 
url <- "https://www.social-enterprise.nl/wie-doen-het/" 

remDr <- remoteDriver() 
# Open the browser webpage 
remDr$open() 

#navigate to your page 
remDr$navigate(url) 

# Locate the load more button 
loadmorebutton <- remDr$findElement(using = 'css selector', "#morenews") 

for (i in 1:2){ 
    print(i) 
    loadmorebutton$clickElement() 
    Sys.sleep(30) 
} 
page_source<-remDr$getPageSource() 

Merken <- read_html(page_source[[1]]) %>% 
    html_nodes("#membershipCntr span") %>% 
    html_text() 
remDr$close() 

Répondre

0

Il vous manque quelques options instanciation de pilote Web distant. Vous pouvez essayer le code suivant,

remDr <- remoteDriver(remoteServerAddr = "localhost" 
         , port = 4444L 
         , browserName = "firefox" 
        ) 
+0

J'ai essayé le code, mais j'ai toujours le même message d'erreur. Je ne comprends pas, parce que j'ai défini le chemin vers le pilote gecko. – gvkleef