Вечер добрый пишу тест на C# Selenium, столкнулся с проблемой как остановить загрузку страницы... Т.е. если я нажимаю крестик вручную, то скрип быстро отрабатывает. А если не трогать крестик то очень долгое ожидание загрузки страницы. Если кто подскажет как решить проблему буду признателен.! Иcкал много решение на JS, только я не очень в нем понимаю....
#1
Отправлено 04 декабря 2019 - 19:34
#2
Отправлено 04 декабря 2019 - 20:33
Никак, вы что-то можете сделать на странице, только после её загрузки.
Если вы имеете ввиду что у вас open долго отрабатывает, то можно использовать другую стратегию загрузки страницы
ChromeOptions opt = new ChromeOptions(); opt.setPageLoadStrategy(PageLoadStrategy.NORMAL);
По умолчанию, вроде как работает нормал.
#3
Отправлено 05 декабря 2019 - 07:28
Получается, если я сам останавливаю загрузку скрипт продолжает работать. Те. элемент уже давно находится на странице, но пока не происходит полная загрузка сайта скрипт не продолжает работу..а это потеря времени...
#4
Отправлено 05 декабря 2019 - 08:45
не надо ничего останавливать
waitForElementPresent и потом делайте что надо
#5
Отправлено 05 декабря 2019 - 09:50
не надо ничего останавливать
waitForElementPresent и потом делайте что надо
Заменить ElementVisibli на waitForElementPresent ?? Просто я читал, что get url пока не отработает, а он отработает как полностью загрузится страница, у меня код не пойдет дальше работать
#6
Отправлено 05 декабря 2019 - 10:07
попробуйте другие подходы чем Селениум
по описанию всё равно у Вас скорее всего парсер сайтов а не тест
#7
Отправлено 05 декабря 2019 - 10:39
попробуйте другие подходы чем Селениум
по описанию всё равно у Вас скорее всего парсер сайтов а не тест
ну не парсер.. а подскажите, что получше Selenium? и где я могу останавливать загрузку сайта, когда мне вздумается?
#8
Отправлено 05 декабря 2019 - 10:47
ну не парсер..
и не тест, и не парсер а неведома зверюшка
а подскажите, что получше Selenium? и где я могу останавливать загрузку сайта, когда мне вздумается?
пробуйте Cypress, Puppeteer, TestCafe
#9
Отправлено 06 декабря 2019 - 09:49
Никак, вы что-то можете сделать на странице, только после её загрузки.
Если вы имеете ввиду что у вас open долго отрабатывает, то можно использовать другую стратегию загрузки страницы
ChromeOptions opt = new ChromeOptions(); opt.setPageLoadStrategy(PageLoadStrategy.NORMAL);По умолчанию, вроде как работает нормал.
А в хроме точно будет работать?
#10
Отправлено 06 декабря 2019 - 11:46
А не много ли вопросов?
#11
Отправлено 06 декабря 2019 - 16:23
А не много ли вопросов?
Ну извините, просто я начинающий, думаю в свое время вы тоже задавали вопросы..
#12
Отправлено 06 декабря 2019 - 17:41
А не много ли вопросов?
Ну извините, просто я начинающий, думаю в свое время вы тоже задавали вопросы..
#13
Отправлено 06 декабря 2019 - 18:41
А не много ли вопросов?
Ну извините, просто я начинающий, думаю в свое время вы тоже задавали вопросы..
cannot convert from 'OpenQA.Selenium.Remote.DesiredCapabilities' to 'OpenQA.Selenium.Chrome.ChromeOptions'вот такую получаю ошибку, может кто скажет как исправить?
По видимому вы 2 разных типа присваиваете
#14
Отправлено 08 декабря 2019 - 19:38
Никак, вы что-то можете сделать на странице, только после её загрузки.
Если вы имеете ввиду что у вас open долго отрабатывает, то можно использовать другую стратегию загрузки страницы
ChromeOptions opt = new ChromeOptions(); opt.setPageLoadStrategy(PageLoadStrategy.NORMAL);По умолчанию, вроде как работает нормал.
#15
Отправлено 09 декабря 2019 - 07:31
У меня пример для Java.
#16
Отправлено 27 апреля 2020 - 12:00
Попробуйте
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(10); //время на загрузку страницы try { driver.Navigate().GoToUrl(url); //если страница не загружена в течении 10 секунд, то будет выброшена ошибка } catch { //обработать ошибку }
По ссылке можете найти больше полезных инструментов Selenium
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных