@FastSpace Вот эти Процы, по Сути мы и есть, кто не хочет Смерти БАС.
Зеновские уже Логти кусают, что у них Хром ниже Версии ( на сколь знаю ) и по Сути то, сейчас если Расширения - Плагины, будет поддерживать, кто с Мозгами тот не Спалится.
Один Адблок и то.
Нам то всё равно с Яндексом и Гуглом сражаться ( они поисчковики, что всё видят ).
На Линуксе, питон и многое можно, но вот Трабл в чём, в Басе или тойже Зенке, более Удобней создавать Проги.
НаПитоне мол Легко, но уних нету Обёртки так сказать.
Хотя мож я ещё мало знаю :)
BAS вылетает по таймауту на действии «Проверить существование» (я сойду с ума с этой проблемой!)
-
У меня скрипт собирает телефоны из объявлений на olx.pl.
Вот пример странички с объявлениями:
https://www.olx.pl/rolnictwo/produkty-rolne/q-ziemniaki/?view=list&page=1
Скрипт последовательно заходит в каждое объявление и нажимает на кнопку «Получить телефон».
Это делается на каждой страничке (внизу пейджинация).После того, как скрипт обходит примерно 10 страничек, собрав примерно 350 телефонов, скрипт вылетает по таймауту на действии «Проверить существование».

Странность в том, что действие это не зависит от ответа сервера. Допустим, предположительно на olx.pl есть защита, которая отрубает коннект к серваку, если видит, что этот браузер собирает слишком много телефонов.
НО!!!!!! Даже если такое происходит, никто не должен помешать BAS'у выполнить поиск элемента на уже загруженном html коде! А на практике выходит, что BAS как будто зависает намертво.Как я пытался решить эту проблему.
Для начала я обернул действие «Проверить существование» в блок игнорирования ошибок.
Попытка 1
Сделал так, чтобы при возникновении ошибки автоматом выполнялся код яваскрипт для обновления странички и потом снова выполнялась попытка выполнить действие «Проверить существование»:
При этом по таймауту вылетает на действии «Яваскрипт».
Попытка 2
Сделал так, чтобы при возникновении ошибки автоматом закрывался браузер, затем снова открывался, загружалась страничка и потом снова выполнялась попытка выполнить действие «Проверить существование».
При этом после загрузки браузера скрипт не продолжается вообще (есть подозрение, что браузер не открывается должным образом).
Вот что я вижу после того, как браузер откроется:

Попытка 3
Отключил антивирус Касперского. Думал, может быть он как-то блокирует BAS.
Но и это не помогло!!!!!Инет на компе стабильный, Windows не засыпает вообще никогда.
У меня подозрение, что по прошествии какого-то времени браузерный движок намертво зависает. Да так, что не может выполнить яваскрипт и даже не помогает переоткрытие самого браузера.
Я сойду с ума с этой проблемой!!!!! Помогите!!!!! С меня пиво, если всё заработает!
Админ, если нужен скрипт полностью - пишите в личку, не хотел бы пока обнародовать его. -
@morozover
Ставите в настройках скрипта -1 в параметрах количества неудач. В случае если вылетит ошибка, поток просто перезапустится.
Учтите, что фактически это равноценно перезапуску скрипта. Чтобы продолжать действия с учетом предыдущих, распределяйте данные через ресурсы. -
@morozover said in BAS вылетает по таймауту на действии «Проверить существование» (я сойду с ума с этой проблемой!):
@Fox Очень бы хотелось, чтобы вы обратили внимание на эту проблему!
Оборачиваешь в игнор и при ошибке меткой вернись и загрузи еще раз страницу через действие загрузить. Причем само действие загрузить тоже надо в игнор.
не надо через reload ява скрипт обновлять, там он лажает дико. -
@morozover said in BAS вылетает по таймауту на действии «Проверить существование» (я сойду с ума с этой проблемой!):
@Fox Очень бы хотелось, чтобы вы обратили внимание на эту проблему!
Раз пагинация происходит на одной и той же странице, то перед переходом на следующую страницу удалите какой нибудь элемент на странице, а после клика ожидайте появления этого элемента. Скидывайте скрипт, покажу нагляднее.
В этой теме, в конце, прикрепил тестовый скрипт с этой же логикой.