Пропустить медленную загрузку ULR в Selenium - PullRequest
1 голос
/ 02 апреля 2020

Я начал изучать Selenium, и в какой-то момент я застрял, должен сказать, что совершенно не уверен, как объяснить возникшую у меня проблему, но я сделаю это просто. Допустим, у нас есть 5 разных URL, мне нужно go через них и посмотреть, правильно ли они перенаправляют, используя:

driver.get(*insert URL here*);

Давайте дадим следующие URL:

  1. { ссылка }
  2. https://github.com/
  3. https://duckduckgo.com/
  4. https://www.javatpoint.com/
  5. https://www.toolsqa.com/

у меня есть все oop, хотя driver.get(*insert URL here*);, и я замечаю, что 4-й URL мучительно замедляет его даже не перейду к 5-му URL, как мне пропустить его, если он достигает, скажем, 15 se c?

Вот мой java код:

    for(int i=0; i<mediasCAS.length; i++){
        if(mediasCAS[i][4] != "?") {
            driver.get(mediasCAS[i][4]);
        }
        else
            continue;
        System.out.println("Site Name : "+mediasCAS[i][1]);
    }

mediasCAS 2D-массив, содержащий информацию о веб-сайтах, где в 4-м столбце содержатся URL-адреса.

1 Ответ

1 голос
/ 03 апреля 2020

Selenium позволяет использовать метод pageLoadTimeout().

From Javado c:

Устанавливает время ожидания завершения загрузки страницы перед выдачей ошибка. Если время ожидания отрицательное, загрузка страницы может быть неопределенной.

Комбинируя его с try-catch, вы можете просто проигнорировать исключение и продолжить с for l oop следующим образом:

driver.manage().timeouts().pageLoadTimeout(15, TimeUnit.SECONDS);
for(int i=0; i<mediasCAS.length; i++){
    try {
        if(mediasCAS[i][4] != "?") {
            driver.get(mediasCAS[i][4]);
        }
        else
            continue;
        System.out.println("Site Name : "+mediasCAS[i][1]);
    } catch (Exception ignore) {
        continue;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...