Как сделать скролл на Pinterest?

hago73

Client
Регистрация
07.09.2012
Сообщения
59
Благодарностей
21
Баллы
8
Здравствуйте.
Никак не получается сделать скролл страницы на Pinterest. Уже пробовал и такой код, и просто многократное нажатие клавиши "вниз", и поиск элемента с последующим наведением мышки на него.

C#:
instance.ActiveTab.FindElementByAttribute("div","data-test-id","search-feed","text",0).ScrollIntoView();
 
// wait downloading
instance.ActiveTab.WaitDownloading();
 
// try find the html element
HtmlElement he = instance.ActiveTab.MainDocument.FindElementByAttribute("div","data-test-id","search-feed","text",0);
 
// if html element was found
if (!he.IsVoid)
{
    // scroll view of tab to the html element
    he.ScrollIntoView();
    
}
И такой код
C#:
int photo_count = Convert.ToInt32(project.Variables["photo_count"].Value);
Random rand = new Random();
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("img", "tagname", "img", "text", photo_count);
   if (he.IsVoid) return -1;
  
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
instance.ActiveTab.FullEmulationMouseMoveAboveHtmlElement(he, 30);
System.Threading.Thread.Sleep(rand.Next(500, 1000));
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
System.Threading.Thread.Sleep(rand.Next(500, 1000));

Ничего не срабатывает. Подскажите, пожалуйста.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
Никак не получается сделать скролл страницы на Pinterest.
Проверьте сначала факт скролла простым методом:

instance.ActiveTab.FullEmulationMouseMove(500,1000);

У себя проверил - все отлично, скроллится.
 
  • Спасибо
Реакции: hago73

hago73

Client
Регистрация
07.09.2012
Сообщения
59
Благодарностей
21
Баллы
8
Спасибо за ответ. Попробовал использовать Ваш метод, добавив высоту страницы, но все равно не получается. В первый раз скролит на какое-то значение пикселей, а при следующих циклах просто пишет, что проскролило.
Зенкой не пользовался лет 6, поэтому так туплю.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
Спасибо за ответ. Попробовал использовать Ваш метод, добавив высоту страницы, но все равно не получается. В первый раз скролит на какое-то значение пикселей, а при следующих циклах просто пишет, что проскролило.
Зенкой не пользовался лет 6, поэтому так туплю.
Нужно наращивать кол-во пикселей по оси Y, иначе будет топтаться на одном месте после первого выполнения скроллинга. Если задача скроллить и парсить, можете выполнять скроллинг например на 1000 пиксеелй вниз или более, парсить, затем наращивать, прибавлять +1000 и снова выполнять скроллинг, но нужно будет оформить через переменные кол-во пискселей. Можно усложнить скроллинг, генерируя напрмиер рандомное кол-во пикселей для скролла, а также ввести кол-во циклов скролла, либо анализировать закончилась страница или нет, чтобы скролл не был в бесконечном цикле. Приложил небольшой пример шаблона.
 

Вложения

  • Спасибо
Реакции: luserz и hago73

hago73

Client
Регистрация
07.09.2012
Сообщения
59
Благодарностей
21
Баллы
8
Скролл работает, но есть другая проблема: находит всегда 9-15 элементов для картинок, какую бы высоту скролла я не задавал. Пробовал и dom, и source брать, и из них парсить.
 

Вложения

  • Спасибо
Реакции: lbvf65

hago73

Client
Регистрация
07.09.2012
Сообщения
59
Благодарностей
21
Баллы
8
Разобрался. Проблема была в браузере. Скролл в Firefox не работал. Добавил в начало проекта кубик изменения инстанта на Chrome и все заработало
 

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