Бесконечная прокрутка (в twitter, vk и подобных)
-
В twitter, vk и на многих других сайтах при прокрутке страницы вниз отсутствует кнопка перехода на следующую страницу, при достижении конца страницы через несколько секунд подгружается следующая страница и так далее.
Как в BAS можно реализовать эту пауза, для подгрузки следующей страницы?
В режиме "Запись" прокрутка происходит медленно, успевают подгрузится следующие страницы и нельзя словить элемент, чтобы установить команду "Ждать полной загрузки".
-
@servasw45 привет - используй в конце действий цикла - действие спать выстави паузу - проверь ее на практике
вот тебе пример
0_1479989811254_test_for_vk.xml
-
@servasw45 Чтобы ждать пока загрузится страница используйте действие Ждать полной загрузки. Это грубый вариант, но работает везде.
Самый быстрый вариант - Очистить кэшированные данные + Ждать Загрузки Url. Но нужно смотреть урл для каждого сайта отдельно.
-
Turutur, спасибо! Увидел твой ответ и последовал твоей рекомендации. После долгих экспериментов написал такой скрипт для считывания новостей с твиттера и записи их в файл:
Первый этап - делается несколько раз прокрутка,
Второй этап - начинается считывание новостей.Правильнее было бы вот так, мне кажется:
То есть, сначала проработать первую страницу, затем прокрутить на вторую страницу, считать все со второй, перейти на третью и т.д.
Только второй вариант (на самом деле был первым моим экспериментом) странно работал.На первой странице размещено и считывается 19 сообщений. Затем включалась прокрутка через FOR и добавлялось еще 19 сообщений. А считывание начиналось с первой страницы по вторую, то есть 19+19 сообщений. На третьем витке цикла FOR прибавляется еще 19 страниц, а считывание начинается снова с первого и всего получается 19+19+19 сообщений.
В общем, эта бесконечная прокрутка - какое-то больное место. В программе Visual Web Ripper, припоминаю, тоже были сложности с таким типом перелистывания страниц.
В BAS после команды Прокрутка надежнее всего использовать Ждать полной загрузки. Но как заставить скрипт продолжать обработку со второй страницы, а не начинать с начала... ? Есть необходимость автоматизировать кое что на web.crowdfireapp.com, а там тоже везде эта прокрутка используется.
Уважаемый support, могли бы Вы придумать какую то функцию, чтобы программа BAS сам находила внизу этот подгружающийся элемент кода и цеплялась за него, как за метку или идентификатор следующей страницы. Потому что после этой бесконечной прокрутки получается одна сплошная страница, только длиннее. Я даже не представляю какие кэшированные данные нужно удалять...
Вот мой скрипт:
0_1480036828172_twitter-parser-news.xmlМожет кто-то усовершенствует или предложит лучший вариант.
-
Но как заставить скрипт продолжать обработку со второй страницы, а не начинать с начала... ?
Сохранять количество постов в переменную и начинать цикл с этой переменной.
Либо обрабатывать данные только после прокрутки на несколько страниц.
Либо получать через кеш результат запроса и обрабатывать его.Уважаемый support, могли бы Вы придумать какую то функцию, чтобы программа BAS сам находила внизу этот подгружающийся элемент кода и цеплялась за него, как за метку или идентификатор следующей страницы.
Попробуйте одно из решений выше.
Я даже не представляю какие кэшированные данные нужно удалять...
Действие, которое я предложил(Очистить кэшированные данные) не получает никаких параметров, его нужно просто вызвать.
-
@support спасибо за подсказку!
Значит, есть три возможных варианта решения для моей задачи. Разберусь и отпишусь.