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

AgentRassilok

Известная личность
Регистрация
08.11.2016
Сообщения
1 272
Благодарностей
466
Баллы
83
может кто подсказать как крутануть страницу вниз на 500 пикселей через шарп

спасибо
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
может кто подсказать как крутануть страницу вниз на 500 пикселей через шарп

спасибо
Можно через эмуляцию движения мыши проскролировать страницу:
https://help.zennolab.com/en/v5/zennoposter/5.10.4.1/webframe.html#topic382.html

Конкретно код:
C#:
instance.ActiveTab.FullEmulationMouseMove(50,500);
 

AgentRassilok

Известная личность
Регистрация
08.11.2016
Сообщения
1 272
Благодарностей
466
Баллы
83

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 307
Благодарностей
865
Баллы
113

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43
@Dr.Pipetka
@sergodjan66
Можно через эмуляцию движения мыши проскролировать страницу:
https://help.zennolab.com/en/v5/zennoposter/5.10.4.1/webframe.html#topic382.html

Конкретно код:
C#:
instance.ActiveTab.FullEmulationMouseMove(50,500);
Пытаюсь выполнить данный код, вместо 500, вставил переменную

C#:
instance.ActiveTab.FullEmulationMouseMove(50,project.Variables["scroll"].Value);

Тип Время Сообщение
17:59:30 Компиляция кода Ошибка в действии "CS1502" "Наиболее подходящий перегруженный метод для "ZennoLab.CommandCenter.Tab.FullEmulationMouseMove(int, int)" имеет несколько недопустимых аргументов". [Строка: 0; Cтолбец: 1]
17:59:30 Компиляция кода Ошибка в действии "CS1503" "Аргумент "2": преобразование типа из "string" в "int" невозможно". [Строка: 0; Cтолбец: 46]

Как правильно сделать? Скажите пожалуйста


UPD
Помог мне уважаемый @Lord_Alfred
instance.ActiveTab.FullEmulationMouseMove(50, Convert.ToInt32(project.Variables["scroll"].Value));
 
  • Спасибо
Реакции: xopek2007

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113
в зенно переменных - хранятся строки (только строки) даже если ты видишь там цифры ))
надо строку преобразовать в int - типа так
C#:
instance.ActiveTab.FullEmulationMouseMove(50,int.parse(project.Variables["scroll"].Value));
 
  • Спасибо
Реакции: alexsandroid и udder

Vladimir71

Client
Регистрация
21.10.2015
Сообщения
95
Благодарностей
38
Баллы
18
Здравствуйте, а как можно прокрутить страницу до самого конца, на C#
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Здравствуйте, а как можно прокрутить страницу до самого конца, на C#
C#:
int i = 0; //Точка отсчета
int Y = 100; //Координата по оси Y

//Иницируем начало цикла со скроллингом
while(true)
{
    //Прокрутка
    instance.ActiveTab.FullEmulationMouseWheel(0,Y);

    //Положение мыши по оси Y
    int posY = instance.ActiveTab.FullEmulationMouseCurrentPosition.Y;

   //Условие, если положение мыши по оси Y больше точки отсчета, то скроллим дальше
    if(posY > i)
    {
        i = posY;
        Y += 100;
    }
    else //иначе выходит из цикла
    {
        break;
    }
}
 

Vladimir71

Client
Регистрация
21.10.2015
Сообщения
95
Благодарностей
38
Баллы
18

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

Vladimir71

Client
Регистрация
21.10.2015
Сообщения
95
Благодарностей
38
Баллы
18
Понятно спасибо , в основном этот скрол используется для ютуба, вопрос не по теме , не получается спарсить количество сообщений каждый раз выходит ошибка в кубике , не подскажите в какую сторону копать. Вроде бы и легко, но в каждый раз в кубике происходит ошибка при загрузки разных видео . Нужно положить эти цифры в переменную.

72299
 

Vladimir71

Client
Регистрация
21.10.2015
Сообщения
95
Благодарностей
38
Баллы
18
То есть логика такая , заходишь на видео какое нибудь, парсишь количество комментариев , если комментариев больше допустим 500 ( что выставляется в настройках шаблона) то шаблон парсит все сообщения и обрабатывает их, если меньше 500 то шаблон закрывает вкладку видео и берет другое видео из списка и также парсит значение количество комментариев и потом уже из логики шаблона движется дальше или повторяется все заново. На данный момент загвозка стоит в том что не могу спарить это значение ( количество комментариев )
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
То есть логика такая , заходишь на видео какое нибудь, парсишь количество комментариев , если комментариев больше допустим 500 ( что выставляется в настройках шаблона) то шаблон парсит все сообщения и обрабатывает их, если меньше 500 то шаблон закрывает вкладку видео и берет другое видео из списка и также парсит значение количество комментариев и потом уже из логики шаблона движется дальше или повторяется все заново. На данный момент загвозка стоит в том что не могу спарить это значение ( количество комментариев )
Ну это вообще легко ;-) надо составить универсальный xpath , и проверить его на нескольких видео.
 
  • Спасибо
Реакции: Vladimir71

Vladimir71

Client
Регистрация
21.10.2015
Сообщения
95
Благодарностей
38
Баллы
18

kolina

Client
Регистрация
05.10.2019
Сообщения
165
Благодарностей
47
Баллы
28
Помогите проскролить продавцов на этой странице: https://www.amazon.com/Fitbit-Fitness-Smartwatch-Tracking-Included/dp/B07TWFVDWT . Предложеный выше метод не помогает. Спасибо.
Для того что бы увидеть продавцов нужно нажать New (34) from (ну так на всякий случай написал)
 
Последнее редактирование:

MaxMan

Client
Регистрация
15.02.2021
Сообщения
93
Благодарностей
80
Баллы
18
Только не используй этот код на сайтах типа ВК, где бесконечный скролл.
Подскажите, пожалуйста, как быть в случае со скролами типа ВК, которые подгружаются скриптами? Как работать с такими страницами?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Подскажите, пожалуйста, как быть в случае со скролами типа ВК, которые подгружаются скриптами? Как работать с такими страницами?
скролить до нужного количества загрузок или пока не перестанет увеличиваться страница или пока аварийный счетчик не сработает.
 

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