2016-06-01 14 views
0

Ich versuche, phantomjs zu gründen, um einen Webschaber zu schaffen, aber ich kann den Fahrer nicht zum Funktionieren bringen. Ich habe die lein Abhängigkeiten wie so hinzugefügt:Wie man clj-webdriver 0.7.2 mit phantomjs einrichtet

[org.seleniumhq.selenium/selenium-server "2.47.1"]                      
    [com.codeborne/phantomjsdriver "1.2.1" 
    :exclusions [org.seleniumhq.selenium/selenium-java 
    org.seleniumhq.selenium/selenium-server 
    org.seleniumhq.selenium/selenium-remote-driver]] 

Dann in meinem Skript:

(ns vendors-api.routes.scrapers.resource 
    (:require [clj-webdriver.core :refer [new-webdriver]]) 
    (:import                                     
     (org.openqa.selenium.phantomjs PhantomJSDriver) 
     (org.openqa.selenium.remote DesiredCapabilities))) 

    (def driver 
    (new-webdriver 
     {:browser (PhantomJSDriver. (DesiredCapabilities.))})) 

Ich halte die folgende Fehlermeldung erhalten:

CompilerException java.lang.reflect.InvocationTargetException, compiling 

Was bin ich?

Antwort

1

Ich erwarte, dass Ihre Abhängigkeiten falsch/unvollständig sind.

Die Liste folgende Abhängigkeit für mich gearbeitet:

[clj-webdriver "0.7.2"] 
[org.seleniumhq.selenium/selenium-java "2.51.0"] 
[com.codeborne/phantomjsdriver "1.2.1" :exclusions [org.seleniumhq.selenium/selenium-java]] 

Und dann

(require ' [clj-webdriver.core :as driver]) 
(def my-driver (driver/new-driver {:browser :phantomjs})) 
0

Die Abhängigkeiten wie in der Frage angegeben sind korrekt.

Die endgültige Setup, das es wurde im Skript zu arbeiten, ist wie die folgenden:

(:require [clj-webdriver.taxi :as taxi]) 

(System/setProperty "phantomjs.binary.path" "/path/to/binary") 

(taxi/with-driver {:browser :phantomjs} (forms-to-evaluate)...) 

Hope this jemand hilft sonst gibt