Прокрутка веб страницы вниз

  • Автор темы Автор темы Ale111
  • Дата начала Дата начала

Ale111

Client
Регистрация
11.12.2015
Сообщения
25
Реакции
0
Баллы
3
Выкладываю часть проекта для прокрутки веб страницы вниз. Работает через раз в PMaker. То прокручивает, то нет. Может кто подскажет? Заранее спасибо !!!
 

Вложения

Что тут подсказывать. То что вы выложили работать и не должно. Там ошибка на ошибке. Например во тут
 

Вложения

  • 1.jpg
    1.jpg
    82,5 KB · Просмотры: 768
  • Спасибо
Реакции: Ale111
Готовое решение
 

Вложения

  • Спасибо
Реакции: Ale111
О, как, оказывается. Не знал, что из-за недозагрузки страницы кнопка может не нажаться.
Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!
 
а есть какой-нибудь сниппет на c# для прокрутки?
 
Есть

Код:
Развернуть Свернуть Копировать
//(int i = 0; i < n; i++) - n - количество экранов вниз
//Sleep(5000); - 5000 пауза между листанием следующего экрана в милисекундах 5000 - 5сек
for (int i = 0; i < 8; i++)
{
    Emulator.SendKey(instance.ActiveTab.Handle,System.Windows.Forms.Keys.End, KeyboardEvent.Down);
    System.Threading.Thread.Sleep(5000);
}

Иногда что бы код сработал, необходимо предварительно кликнуть мышкой на странице.
 
Последнее редактирование:
  • Спасибо
Реакции: genkst и Знайка
Есть

Код:
Развернуть Свернуть Копировать
//(int i = 0; i < n; i++) - n - количество экранов вниз
//Sleep(5000); - 5000 пауза между листанием следующего экрана в милисекундах 5000 - 5сек
for (int i = 0; i < 8; i++)
{
    Emulator.SendKey(instance.ActiveTab.Handle,System.Windows.Forms.Keys.End, KeyboardEvent.Down);
    System.Threading.Thread.Sleep(5000);
}

Иногда что бы код сработал, необходимо предварительно кликнуть мышкой на странице.
Спасибо. Попробовал. Чего-то не прокручивает
 

Вложения

del
 
Последнее редактирование:
Иногда что бы код сработал, необходимо предварительно кликнуть мышкой на странице.
 

Вложения

Да. Спасибо. Зациклил число нажатий на кнопку. По высоте окна иногда выходит заранее из цикла. Видимо паузу больше надо
 
Иногда что бы код сработал, необходимо предварительно кликнуть мышкой на странице.
До конца все равно не долистывает. Выходит после определенного количества прокруток. По ходу высоту body неправильно определяет. Видимо, кокой-то другой алгоритм нужно придумать. Может, по свойству active кнопки.
 
или просто не успевает загрузить порцию данных за 4-6 секунд когда страница уже большая
 
или просто не успевает загрузить порцию данных за 4-6 секунд когда страница уже большая
Неа. Выходит он все правильно. По достижению значения высоты. Вот только данная высота окна не является правильной. Там ещё текста куча снизу остаётся.
 
Неа. Выходит он все правильно. По достижению значения высоты. Вот только данная высота окна не является правильной. Там ещё текста куча снизу остаётся.
это исключено. значит вы высоту не того элемента меряете.
 
Иногда что бы код сработал, необходимо предварительно кликнуть мышкой на странице.
Подскажите, а как в этод код:

Код:
Развернуть Свернуть Копировать
//(int i = 0; i < n; i++) - n - количество экранов вниз
//Sleep(5000); - 5000 пауза между листанием следующего экрана в милисекундах 5000 - 5сек
for (int i = 0; i < 1; i++)
{
    Emulator.SendKey(instance.ActiveTab.Handle,System.Windows.Forms.Keys.End, KeyboardEvent.Down);
    System.Threading.Thread.Sleep(5000);
}

вставить переменные для количества экранов и паузы между листанием следующего экрана?
 
Код:
Развернуть Свернуть Копировать
//(int i = 0; i < n; i++) - n - количество экранов вниз
//Sleep(5000); - 5000 пауза между листанием следующего экрана в милисекундах 5000 - 5сек
int n = Convert.ToInt32(project.Variables["n"].Value);
int sleep = Convert.ToInt32(project.Variables["sleep"].Value);
for (int i = 0; i < n; i++)
{
   Emulator.SendKey(instance.ActiveTab.Handle,System.Windows.Forms.Keys.End, KeyboardEvent.Down);
  System.Threading.Thread.Sleep(sleep);
}
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)