@mihsaklimov

Как использовать AsyncTask вместе с Selenium?

С помощью автоматизации Selenuim мне необходимо найти объект на странице.
Ищу по айди. Выходит исключение
Caused by: org.openqa.selenium.NoSuchElementException: Could not find element with id: search-text

Также сообщение E/NetworkUtilities: [MTK_net]ss.ss_family:2
Я прочел, что нужно превести сеть в другой поток, но я и так использовал AsyncTask.
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MyAsyncTask myAsyncTask = new MyAsyncTask();
        myAsyncTask.execute(this);
    }

    class MyAsyncTask extends AsyncTask<Activity, Integer, Integer> {
        @Override
        protected Integer doInBackground(Activity... strings) {
            WebDriver driver = new AndroidWebDriver(strings[0]);
            driver.get("https://rutracker.appspot.com/forum/index.php");
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            WebElement element = driver.findElement(By.id("search-text"));
            element.sendKeys("гладиолус");
            element.submit();
                return null;
        }
    }
}
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
TheKnight
@TheKnight
Программист
Но это не отменяет того, что Вы начали переводить тему. Задача сообщества - постараться помочь мне, а не упрекать и задавать вопросы, которые не относятся к теме.

mihsaklimov, нет такой задачи у сообщества. Есть задача удовлетворить свое любопытство и почесать свое ЧСВ.
Если вы думаете по другому - то стоит проверить свои взгляды на реальность.

Что же касается вашей проблемы - кажется, вы банально ошиблись с id элемента. Я наблюдаю id "search-text-guest". Кроме того, стоит подумать о более вменяемом способе ожидания, чем ручками через Thread.sleep каждый раз.

И все же продолжим чесать ЧСВ - использовать selenium изнутри приложения для поиска чего то на стороннем сайте плохая идея. Почему бы не воспользоваться существующим API? Если его не существует - почему бы его не запилить? Какую задачу вы вообще пытаетесь решить, что потребовался такой изврат?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы