2015-08-13 8 views
10

Please see edits below before answering!Come posso aggiungere Selendroid ad Android Studio per il web scraping?

Sto provando a configurare il web dinamico di rottamazione con Selenium, tuttavia, non riesco a trovare le necessarie dipendenze gradle/file lib da aggiungere al mio progetto. Ho consultato il sito Web Selendroid/Selenium e non sono riuscito a trovare le informazioni di configurazione necessarie. Suppongo di aver bisogno del webdriver perché sto per raschiare i dati web. Come nota a margine, ho deciso di utilizzare Selendroid dopo aver trovato HtmlUnit incompatibile con Android e dopo aver trovato alternative valide. Tutto l'aiuto è apprezzato.

(Altre questioni che affrontano questo problema rimangono senza risposta)

Edit: so using Exeon's suggestion, I found the following dependency for Selendroid:

compile 'io.selendroid:selendroid-client:0.16.0' 

Tuttavia, al momento in esecuzione la mia domanda, ottengo il seguente errore (ripetuto circa 10 volte):

Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for debug as it may be conflicting with the internal version provided by Android. 
    In case of problem, please repackage it with jarjar to change the class packages 

Nota, ho provato a utilizzare anche quanto segue:

compile 'org.testcontainers:selenium:0.9.7' 

ma ero incontrato con lo stesso errore ...

+1

Per riferimento futuro, questo è un buon sito web per la ricerca di titolo di prova Gradle dipendenze: http://gradleplease.appspot.com/#Selenium – Sherlock

risposta

-1

Qualcosa di simile a questo:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'org.seleniumhq.selenium:selenium-java:2.47.1' 

     } 
} 

(aggiungendo maven repo utilizzando Gradle)

+0

questo non ha funzionato – Markoe7

+0

@Steve quello che dice? Per me ha mostrato prima un errore ma dopo "sincronizzare nuovamente" ha funzionato – danpetruk

+0

non importa la libreria Selenium. Ad esempio, provo a utilizzare WebDriver/WebElement e non funziona – Markoe7

-1

Per il vostro errore in merito alla questione della dipendenza si potrebbe prova ad escludere il httpclient dalla libreria selendroid. Ho provato troppo, ma ho avuto altri problemi di dipendenza, ma si potrebbe fare un tentativo:

compile('io.selendroid:selendroid-client:0.16.0') { 
     exclude(group: 'org.apache.httpcomponents', module: 'httpclient') 
    } 

Dopo che ero in grado di importare così:

import io.selendroid.client.*; 

e utilizzare il WebDriver.

+0

questo mi fa l'errore: Errore: esecuzione fallita per task ': app: preDexDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: processo 'comando' /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java ' 'finito con valore di uscita diverso da zero 1 – Markoe7

+0

Quindi prova: 'Crea >> Pulisci progetto' ** O ** File >>' Invalida cache/riavvia' ** O ** forse hai [QUESTO] (http: // stackoverflow.com/questions/23847482/error-gradle-execution-failed-for-task-apppredexdebug) problema, leggere la risposta accettata – weletonne

+0

sfortunatamente nessuna di queste soluzioni ha funzionato – Markoe7

Problemi correlati