Разница между кубиком выполнить код и Яваскрипт

Поддержка
  • @Fox спасибо за разернутый ответ

    @tet-vivi said in Разница между кубиком выполнить код и Яваскрипт:

    а зачем тогда вообще BAS можно же напрямую вебдрайвом пользоваться?

    вебдрайвером пользовался и через python и через nodejs
    но вот как там реализовать поддержку fingerprint не понятно.
    А без этого вся идея ботоводства теряет свой смысл.

  • @gomeapat said in Разница между кубиком выполнить код и Яваскрипт:

    но вот как там реализовать поддержку fingerprint не понятно.

    Никак, надо делать свою сборку хромиума

  • @Fox , вы писали

    "выполнить код" это внутрянка BAS, в нём можно вызывать методы внутреннего api, переопределять существующие функции, создавать сложные конструкции и прочее. Яваскрипт выполняется в браузере в текущем конктексте со всеми вытекающими (нельзя обратится к содержимому фрейма, нельзя из действия изменить переменную BAS и т.д.).
    Любой код в действии "яваскрипт" будет работать только на текущей странице, при переходе на другую страницу весь код сбрасывается. А код в действии "выполнить код" сбросится по завершении потока.

    @Fox , Не могли бы вы уточнить. Я правильно понял, что из действия "Яваскрипт" обратиться к стандартному действия БАС (к примеру "Проверить наличие элемента") не получится?
    Иными словами я не понял, что означает "методы внутреннего api". К ним относятся действия БАС, доступные внутри интерфейса БАСа?

  • @aliver said in Разница между кубиком выполнить код и Яваскрипт:

    @Fox , вы писали

    "выполнить код" это внутрянка BAS, в нём можно вызывать методы внутреннего api, переопределять существующие функции, создавать сложные конструкции и прочее. Яваскрипт выполняется в браузере в текущем конктексте со всеми вытекающими (нельзя обратится к содержимому фрейма, нельзя из действия изменить переменную BAS и т.д.).
    Любой код в действии "яваскрипт" будет работать только на текущей странице, при переходе на другую страницу весь код сбрасывается. А код в действии "выполнить код" сбросится по завершении потока.

    @Fox , Не могли бы вы уточнить. Я правильно понял, что из действия "Яваскрипт" обратиться к стандартному действия БАС (к примеру "Проверить наличие элемента") не получится?
    Иными словами я не понял, что означает "методы внутреннего api". К ним относятся действия БАС, доступные внутри интерфейса БАСа?

    Из действия "Яваскрипт" нельзя выполнить другие действия BAS, грубо говоря потому что он выполняет код во вкладке console браузера, а действие "Выполнить код" выполняет код внутри BAS.

  • @Fox спасибо! А есть ли способ каким-то образом узнать, каким способом БАС проверяет видимость объекта на странице?

    Опишу ситуацию для лучшего понимания.
    Есть js код, который парсит страницу. Внутри должна находится проверка существования элемента и проверка его видимости (жизненно необходимо). И я нашел функцию js, которая проверяет видимость элемента. Но работает она значительно хуже, чем родная БАСовская. Проблема в том, что пока я не проскролю страницу полностью, эта функция не учитывает элементов "вне зоны видимости браузера". То есть эти элементы УЖЕ загружены с сервера, но браузер их типа ещё не прорисовал. И моя функция js показывает, что мол "element is invisible", хотя если проскроллить страницу - он офигенно видим)

    Пытаюсь понять, в какую сторону копать? Что-то мне подсказывает, что в сторону DOM.

    Хорошего дня, @Fox! Благодарю Вас :)

  • @aliver said in Разница между кубиком выполнить код и Яваскрипт:

    @Fox спасибо! А есть ли способ каким-то образом узнать, каким способом БАС проверяет видимость объекта на странице?

    Откройте код действия, там будет функция js, которая производит определение видимости

    de72f8e0-6c3b-4e5d-a2b1-8a90200d3420-изображение.png

    Опишу ситуацию для лучшего понимания.
    Есть js код, который парсит страницу. Внутри должна находится проверка существования элемента и проверка его видимости (жизненно необходимо). И я нашел функцию js, которая проверяет видимость элемента. Но работает она значительно хуже, чем родная БАСовская. Проблема в том, что пока я не проскролю страницу полностью, эта функция не учитывает элементов "вне зоны видимости браузера". То есть эти элементы УЖЕ загружены с сервера, но браузер их типа ещё не прорисовал. И моя функция js показывает, что мол "element is invisible", хотя если проскроллить страницу - он офигенно видим)

    Пытаюсь понять, в какую сторону копать? Что-то мне подсказывает, что в сторону DOM.

    Хорошего дня, @Fox! Благодарю Вас :)

    Зачем использовать чужой код, если не понимаете как его исправить? Может проще добиться итоговой цели используя инструменты с которыми умеете работать?
    Ну и без самого кода функции вам вряд ли смогут помочь

  • "Dice execute code" is not a commonly used term in programming, so I'm assuming you're referring to "Dice notation", which is a shorthand used in tabletop games to represent random numbers generated by rolling dice.

    JavaScript, on the other hand, is a programming language used for creating dynamic and interactive web pages.

    The key difference between the two is that Dice notation is a shorthand notation for representing random numbers generated by rolling dice, while JavaScript is a full-fledged programming language used for creating dynamic and interactive web pages.

    Dice notation is used in tabletop games to represent random numbers generated by rolling dice, and it is not a programming language. It is a shorthand notation used by players and game masters to represent the outcomes of dice rolls, which are used to determine the results of various actions in the game.

    JavaScript, on the other hand, is a high-level, interpreted programming language that is widely used to create dynamic and interactive web pages. It is a full-fledged programming language with a syntax and structure that allows developers to create complex applications and perform a wide range of tasks, from user interface design to server-side programming.

    In summary, Dice notation is a shorthand notation used in tabletop games to represent random numbers generated by rolling dice, while JavaScript is a programming language used for creating dynamic and interactive web pages.

  • @Robert said in Разница между кубиком выполнить код и Яваскрипт:

    "Dice execute code" is not a commonly used term in programming, so I'm assuming you're referring to "Dice notation", which is a shorthand used in tabletop games to represent random numbers generated by rolling dice.

    JavaScript, on the other hand, is a programming language used for creating dynamic and interactive web pages.

    The key difference between the two is that Dice notation is a shorthand notation for representing random numbers generated by rolling dice, while JavaScript is a full-fledged programming language used for creating dynamic and interactive web pages.

    Dice notation is used in tabletop games to represent random numbers generated by rolling dice, and it is not a programming language. It is a shorthand notation used by players and game masters to represent the outcomes of dice rolls, which are used to determine the results of various actions in the game.

    JavaScript, on the other hand, is a high-level, interpreted programming language that is widely used to create dynamic and interactive web pages. It is a full-fledged programming language with a syntax and structure that allows developers to create complex applications and perform a wide range of tasks, from user interface design to server-side programming.

    In summary, Dice notation is a shorthand notation used in tabletop games to represent random numbers generated by rolling dice, while JavaScript is a programming language used for creating dynamic and interactive web pages.

    The user was asking the difference between "Javascript" and "Execute code" actions

    23017bef-d1f0-45a2-98ee-440e36be8404-изображение.png

    117160a1-8ec5-408c-a2af-8f9e8579cf1e-изображение.png

  • @Fox Прошу прощение за беспокойство, а какая версия яваскрипт используется когда работает блок Tools -> Execute code. То, что это внутрянка BAS-а. Я понял. А какая конкретно версия там используется? где можно найти доку?
    Интересует возможность напрямую работать с файловой системой внутри этого блока. Читать \ писать файлы, создавать директории где надо. Определять текущую рабочую директорию процесса и т.д.
    Так же итересует вопрос относительно того как работать с процессаами внутри этого блока. Запускать \ читать вывод \ проверять запущен ли процесс по его PID и т.д.
    Спасибо.

  • @traffic-coon said in Разница между кубиком выполнить код и Яваскрипт:

    Интересует возможность напрямую работать с файловой системой внутри этого блока. Читать \ писать файлы, создавать директории где надо. Определять текущую рабочую директорию процесса и т.д.

    Никакая версия js этого не умеет. Это умеет nodejs

  • @traffic-coon ECMA-262 стандарт, подробнее здесь:

    https://doc.qt.io/qt-5/qtscript-index.html#language-overview