Как мне успешно запустить веб-драйвер в приложении для Android? - PullRequest
1 голос
/ 12 июня 2019

Итак, есть веб-сайт, на котором, когда мы вводим символ в качестве заполнителя 'username', появляется каптача, которую я хочу использовать в своем приложении.

Я пытался использовать Селен ChromeDriver, но он дал мне следующую ошибку: «Невозможно найти свободный порт». Есть ли способ изменить порт для ChromeDriver?

Тогда я подумал, что могу сделать то же самое в JS и вызвать его из Java с помощью Rhino. Но я не смог найти подходящее руководство для веб-драйвера JS (для задачи, которую я хочу выполнить), или, возможно, я пропустил.

MainActivity.java:

 @Override
protected void onResume(){
    super.onResume();
    new MyBackgroundDriver().execute("https://www.google.com/");//for test lets consider google.com
}

class MyBackgroundDriver extends AsyncTask<String, Void, Void> {

    @Override
    protected Void doInBackground(String... url) {
        WebDriver driver=new ChromeDriver();
        driver.get(url[0]);
        driver.quit();
        return null;
    }
}

Приложение / build.gradle:

apply plugin: 'com.android.application'

android {

    compileSdkVersion 28

    packagingOptions {

        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
        .....
    }
}

.....

dependencies {

    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'com.android.support:appcompat-v7:28.0.0'

    implementation 'org.seleniumhq.selenium:selenium-java:2.46.0'

    implementation 'junit:junit:4.12'

    //implementation 'io.appium:java-client:3.0.0'

    implementation 'com.android.support.constraint:constraint-layout:1.1.3'

    androidTestImplementation 'com.android.support.test:runner:1.0.2'

    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

Пожалуйста, помогите мне с этой ошибкой или предоставьте решение для получения сгенерированной капчи (без использования WebView, поскольку я хочу, чтобы пользовательский интерфейс был другим). Поэтому, даже если есть способ каким-либо образом изменить пользовательский интерфейс (например, скрыть веб-просмотр или запустить его в фоновом режиме), мы приветствуем вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...