Can't find variable: _SELECTOR



  • @Sevenup аналогично, пока переписывал скрипт - заметил ошибку возвращает true - пришлось пока выкинуть проверку



  • тоже самое, а я тут уже веру в баса чуть не потерял.

    Я заметил блок "проверить сущиствование" срабативает в том случае, если предваритольно в него зайти, тоесть нажать кнопку "редакторовать" или даблклик. А возможно ето изза того, что у мене в проекте очень много блоком "проверить сучиствование" , 5 или 6?



  • @my3uka
    Нет не поэтому он просто тупо игнорит блок "проверить существование".



  • Гайз, ну по сути то все эти плюшки, проверку существования и видимость блока можно реализовать на JavaScript, BAS то это позволяет элементарно. Немного погуглить тем кто не знаком с JavaScript и дело в шляпе.

    Я вот вообще был бы счастлив, если бы в БАСе работа с JS была более удобной, например блок "выполнить JavaScript", поле для кода, было по больше, а то в одну строку много кода не напишешь :) да и все, далее руки развязаны, пиши что хочу, никто не мешает реализовать любую фантазию.

    Вот доступ к свойствам браузера из этого JS - это да, полезная штука, очень жду когда появится :)



  • @my3uka said in Can't find variable: _SELECTOR:

    тоже самое, а я тут уже веру в баса чуть не потерял.

    Я заметил блок "проверить сущиствование" срабативает в том случае, если предваритольно в него зайти, тоесть нажать кнопку "редакторовать" или даблклик. А возможно ето изза того, что у мене в проекте очень много блоком "проверить сучиствование" , 5 или 6?

    у меня аналогично, это бага, в следующих версиях думаю автор заметит и поправит.

    повторюсь (писал уже выше) делайте проверку существования через XPATH предварительно получив содержание страницы в переменную. Метод достаточно стабилен и сможет решить вашу задачу, продолжив работу над проектом, не дожидаясь, пока автор поправит багу.


  • administrators

    Исправил. Поскольку баг критический, то выпустил новую версию. 20.0.3



  • @support не факт, что дело в этом, но сразу после этого обновления у меня в проекте перестали загружаться аудиофайлы от каптчи солвемедиа "Не удалось дождаться загрузки download://".
    upp: да, скомпилировал из под версии 20.2 и все работает. Компилирую из последней - ошибка.



  • @support
    благодарю
    с последним обновлением у меня всё ок, перестали появлятся ошибки "проверки на существование"



  • а у меня почему-то "проверка на существование" по XPATH так и не заработала после обновление, только по CSS
    alt text
    когда блок на странице есть, найдено 0
    когда блока на странице нет, вообще пустая страница, то в IS_EXIST будет всегда true не зависимо существует ли блок или нет.

    Если делать проверку тем же кодом, но через блок XPATH_проверить_существование в предварительно сохраненном коде страницы SAVED_PAGE_HTML то работает все ок, но приходится для проверки сохранять всю страницу в переменную.


  • administrators

    @Sevenup Чтобы работал xpath нужно перед селектором ставить >XPATH>

    http://wiki.bablosoft.com/doku.php?id=ru:how_to_search_for_element#xpath_селекторы



  • а у меня по прежнему 90% ошибок:
    "Таймаут во время выполнения exist for[documentRoot, css #my_div]"

    писал об подобных таймаутах много раз, где-то явно есть глобальная бага.

    я решил проверить и убедиться так:

    обернул "проверить существование" >CSS> #my_div в "игнорирование ошибок"
    сразу после проверяю переменную WAS_ERROR, если она true, была проблема с "проверить существование", делаю скриншот браузера и сохраняю в отдельную папку с названием [[timestamp]].png и вуаля, #my_div на месте. Как и писал ранее, моя страница загружается один раз и более никаких переходов по ссылкам и обновлений страницы нет, все действия на ней происходят только в фреймах.

    Возникает вопрос, почему "Таймаут во время выполнения exist for[documentRoot, css #my_div]", при условии, что #my_div на месте и страница полностью загружена.

    я не на столько силен в программировании, прошу заранее прощение если не корректно описываю свои предположения, но, может ли быть такое, что JS'овский v8 то однопоточный, почти все что в БАС (как минимум данная проверка селектора) работает на JS и в тот момент, когда она пытается проверить селектор, v8 загружен другими процессами где ждет чей-то callback или вовсе попадает в callback hell, эти процессы могут быть например во фрейме. И наш "проверить существование" или что бы то не было просто не дожидается падает в fail.
    Имеет место быть подобное?


  • administrators

    @Sevenup А можете сайт прислать в личку? Я посмотрю лог, и что там происходит.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.