Функция "Проверить существование" закрывает работу BAS ошибкой по таймауту

Поддержка
  • BAS заканчивает работу с ошибкой при проверке существования элементов по xpath
    Таймаут во время выполнения exist for
    Это функция "Проверить существование". У неё же нет никаких таймаутов, и в пояснении к ней написано, что действие завершается мгновенно, либо есть, либо нету элемента.
    Уже не в первый раз в разных парсерах у себя замечаю. Почему так может происходить?

  • @Dim said in Функция "Проверить существование" закрывает работу BAS ошибкой по таймауту:

    BAS заканчивает работу с ошибкой при проверке существования элементов по xpath
    Таймаут во время выполнения exist for
    Это функция "Проверить существование". У неё же нет никаких таймаутов, и в пояснении к ней написано, что действие завершается мгновенно, либо есть, либо нету элемента.
    Уже не в первый раз в разных парсерах у себя замечаю. Почему так может происходить?

    Потому, что мешает заглушка хромовоская. Решение - только кастом.

  • @FastSpace said in Функция "Проверить существование" закрывает работу BAS ошибкой по таймауту:

    Потому, что мешает заглушка хромовоская. Решение - только кастом.

    А что значит хромовская заглушка? Подскажите, пожалуйста, хоть в какую сторону смотреть, если решение кастомное делать?

  • @Dim said in Функция "Проверить существование" закрывает работу BAS ошибкой по таймауту:

    BAS заканчивает работу с ошибкой при проверке существования элементов по xpath
    Таймаут во время выполнения exist for
    Это функция "Проверить существование". У неё же нет никаких таймаутов, и в пояснении к ней написано, что действие завершается мгновенно, либо есть, либо нету элемента.
    Уже не в первый раз в разных парсерах у себя замечаю. Почему так может происходить?

    Может есть какие нибудь общие условия возникновения ошибки? Что бы можно было её повторить намерянно

  • У меня тоже такое бывает.

    Заметил, что это происходит при обработке большого куска данных. Например, у меня был проект, который обрабатывал список из нескольких тысяч URL. Работа велась в один поток.

  • Да, всё верно, ошибка всегда происходит, когда парсер натыкается на большой объём данных. Это может быть очень большой код, или большое количество элементов (точно не скажу, но от 1ой тысячи, скорее даже 3-4 тысячи элементов). Это можно поймать, например, на сайтах с подгрузкой материалов при прокрутке. Если их слишком много, то вот такая беда происходит.
    Причем сейчас экспериментировал, чтобы парсер просто брал по одному элементу, а не считал, сколько их всего, через Xpath >AT>0 (1,2,3 и т.д.), и зависает всё-равно на этом действии, видимо всё-равно функция смотрит, сколько элементов всего. Хотел придумать, чтобы парсер обрабатывал все элементы по одному, и записывал хотя бы данные, полученные до зависания, но судьба. Многопоток тут тоже не поможет, как я понимаю, кол-во элементов-то всё-равно будет считаться.
    Может можно как-то обойти?

  • @Dim обычно страницы, которые имеют подгрузку, так же имеют нумерацию страниц. То есть page 1, page 2 и тд. Чем больше скролишь, тем выше цифра. Это можно увидеть либо в строке браузера, либо в консоли. И если это так, то просто загружаете страницы по нумерации, тогда данные будут перезаписываться и не будет никаких больших количеств.

  • Тоже часто возникает, во многих скриптах. Замечал такую ошибку, когда страница не прогрузилась до конца из-за прокси.

  • 0 Votes
    4 Posts
    580 Views
  • 0 Votes
    23 Posts
    2185 Views
  • 0 Votes
    4 Posts
    649 Views
  • Баг в BAS

    Поддержка
    0 Votes
    6 Posts
    1293 Views
  • 0 Votes
    2 Posts
    670 Views