Перейти к содержимому

Фотография

Selenium

Остановка загрузки страницы

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 15

#1 xore4ek3

xore4ek3

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 04 декабря 2019 - 19:34

Вечер добрый пишу тест на C#  Selenium, столкнулся с проблемой как остановить загрузку страницы... Т.е. если я нажимаю крестик вручную, то скрип быстро отрабатывает. А если не трогать крестик то очень долгое ожидание загрузки страницы. Если кто подскажет как решить проблему буду признателен.! Иcкал много решение на JS, только я не очень в нем понимаю....


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 04 декабря 2019 - 20:33

Никак, вы что-то можете сделать на странице, только после её загрузки.

Если вы имеете ввиду что у вас open долго отрабатывает, то можно использовать другую стратегию загрузки страницы

        ChromeOptions opt = new ChromeOptions();
        opt.setPageLoadStrategy(PageLoadStrategy.NORMAL);

Они есть EAGER NONE NORMAL.

По умолчанию, вроде как работает нормал.


  • 0

#3 xore4ek3

xore4ek3

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 05 декабря 2019 - 07:28

Получается, если я сам останавливаю загрузку скрипт продолжает работать. Те. элемент уже давно находится на странице, но пока не происходит полная загрузка сайта скрипт не продолжает работу..а это потеря времени... 


  • 0

#4 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 05 декабря 2019 - 08:45

не надо ничего останавливать

 

waitForElementPresent и потом делайте что надо


  • 0

#5 xore4ek3

xore4ek3

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 05 декабря 2019 - 09:50

не надо ничего останавливать

 

waitForElementPresent и потом делайте что надо

Заменить ElementVisibli на waitForElementPresent  ?? Просто я читал, что get url пока не отработает, а он отработает как полностью загрузится страница, у меня код не пойдет дальше работать


  • 0

#6 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 05 декабря 2019 - 10:07

попробуйте другие подходы чем Селениум

 

по описанию всё равно у Вас скорее всего парсер сайтов а не тест


  • 0

#7 xore4ek3

xore4ek3

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 05 декабря 2019 - 10:39

попробуйте другие подходы чем Селениум

 

по описанию всё равно у Вас скорее всего парсер сайтов а не тест

ну не парсер.. а подскажите, что получше Selenium? и где я могу останавливать загрузку сайта, когда мне вздумается?


  • 0

#8 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 05 декабря 2019 - 10:47

 

 

ну не парсер..

и не тест, и не парсер а неведома зверюшка

 

 

 

а подскажите, что получше Selenium? и где я могу останавливать загрузку сайта, когда мне вздумается?

пробуйте Cypress, Puppeteer, TestCafe


  • 0

#9 xore4ek3

xore4ek3

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 06 декабря 2019 - 09:49

Никак, вы что-то можете сделать на странице, только после её загрузки.

Если вы имеете ввиду что у вас open долго отрабатывает, то можно использовать другую стратегию загрузки страницы

        ChromeOptions opt = new ChromeOptions();
        opt.setPageLoadStrategy(PageLoadStrategy.NORMAL);

Они есть EAGER NONE NORMAL.

По умолчанию, вроде как работает нормал.

А в хроме точно будет работать?


  • 0

#10 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 06 декабря 2019 - 11:46

А не много ли вопросов?


  • 0

#11 xore4ek3

xore4ek3

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 06 декабря 2019 - 16:23

А не много ли вопросов?

Ну извините, просто я начинающий, думаю в свое время вы тоже задавали вопросы..


  • 0

#12 xore4ek3

xore4ek3

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 06 декабря 2019 - 17:41

 

А не много ли вопросов?

Ну извините, просто я начинающий, думаю в свое время вы тоже задавали вопросы..

 

 cannot convert from 'OpenQA.Selenium.Remote.DesiredCapabilities' to 'OpenQA.Selenium.Chrome.ChromeOptions'
 вот такую получаю ошибку, может кто скажет как исправить?

  • 0

#13 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 06 декабря 2019 - 18:41

 

 

А не много ли вопросов?

Ну извините, просто я начинающий, думаю в свое время вы тоже задавали вопросы..

 

 cannot convert from 'OpenQA.Selenium.Remote.DesiredCapabilities' to 'OpenQA.Selenium.Chrome.ChromeOptions'
 вот такую получаю ошибку, может кто скажет как исправить?

 

По видимому вы 2 разных типа присваиваете


  • 0

#14 xore4ek3

xore4ek3

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 08 декабря 2019 - 19:38

Никак, вы что-то можете сделать на странице, только после её загрузки.

Если вы имеете ввиду что у вас open долго отрабатывает, то можно использовать другую стратегию загрузки страницы

        ChromeOptions opt = new ChromeOptions();
        opt.setPageLoadStrategy(PageLoadStrategy.NORMAL);

Они есть EAGER NONE NORMAL.

По умолчанию, вроде как работает нормал.

Severity Code Description Project File Line Suppression State
Error CS1955 Non-invocable member 'DriverOptions.PageLoadStrategy' cannot be used like a method.
Тут что не так? написал как у вас в примере

  • 0

#15 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 09 декабря 2019 - 07:31

У меня пример для Java.


  • 0

#16 prog_belka

prog_belka

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 27 апреля 2020 - 12:00

Попробуйте 

driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(10); //время на загрузку страницы
try
{
driver.Navigate().GoToUrl(url); //если страница не загружена в течении 10 секунд, то будет выброшена ошибка
}
catch
{
//обработать ошибку
}

По ссылке можете найти больше полезных инструментов Selenium


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных