Human Emulator


Robotic browser automation

sales@webemulator.com

Бесплатная онлайн консультация по возможностям программы.

English version of the site

Автоматизация браузера

работа с браузером в хуман эмуляторе
  • В: Как работать с закладками с браузерами ?
    Для этого имеется следующий функционал.
  • В: Как работать с внутренними параметрами браузера ?
    Для этого имеется следующий функционал.
  • В: Как правильно работать с режимом inprivate (приватный), алгоритм действий для навигации?
    Для этого истользуется следующий алгоритм:
    $browser->recreate();
    $browser->navigate("about:inprivate");
    $browser->clear_cookies("", true, true);
    $browser->navigate("на нужную вам страницу");
  • В: После навигации по линку скрипт показывает, что закончил работу ещё в процессе подгрузки страницы. Как исправить ?
    Вероятнее всего, после навигации идет обработка JS, для того чтобы дождаться нужно использовать или паузу : $browser->wait_js(); и/или просто sleep(1);. Или дожидаться появления на странице нужного вам элемента через команды проверки существования элемента. Например :
    echo $browser->navigate("whoer.net")." ";
    sleep(2);
    $anchor->get_by_attribute("class","btn-more")->focus();
    $anchor->get_by_attribute("class","btn-more")->send_mouse_click();
  • В: Как с помощью программы поменять в браузере navigator.appName ( и другие встроенные переменные JS )?
    Для этого мы используем функцию $browser->set_init_java_script(); и ниже приведе пример использования :
    $browser->recreate();
    // 1 шаг
    echo "1. JS что выполнется после загрузки страницы, но перед всеми JS";
    echo $browser->set_init_java_script("
    function setAppName(window, appName) {if (window.navigator.appName != appName) {
            var appNameProp = { get: function () { return appName; } };
            try {
                Object.defineProperty(window.navigator, "appName", appNameProp);
            } catch (e) {
                window.navigator = Object.create(navigator, {
                    appName: appNameProp
                });
            }
        }
    }
    setAppName(window, "new app name");")."<br>";
     
    // 2 шаг
    echo "2. Посмотрим как изменилось appName : ";
    echo $browser->navigate("whoer.net")." ";
    sleep(2);
    $anchor->get_by_attribute("class","btn-more")->focus();
    $anchor->get_by_attribute("class","btn-more")->send_mouse_click();
  • В: Как правильно осуществлять полную очистку браузера, какой правильный алгоритм?
    Для этого рекомендуем использвать следущий алгоритм:
    $browser->recreate();
    // Делаем полную очистку и пересоздаем браузер
    $browser->navigate("about:blank");
    $browser->clear_address_bar_history();
    $browser->clear_cache();
    $browser->clear_cookies("");
    $browser->clear_history();
    $browser->recreate();
  • В:Как осуществляется подмена реферера браузера?
    По данному вопросу можно ознакомиться со статьёй на нашем форуме.
  • В:Как отключить флэш в программе?
    Функции enable_activex(false) и enable_video(false) в скрипте указать данные значения, так же можно отключить непосредственно в настроках программы(F9) в разделе браузер, убрать галочки в пунктах ActiveX и Видео.
  • В:Как запускать JS в программе?
    Используется данная команда browser->run_java_script
  • В:Как получить доступ к JS консоли(панели отладки) через FireBug?
    Для этого в скрипт добавим следующие команды:

    echo " Получим доступ к консоли JS : ";
    $dubug_and_firebug='javascript:if(!window.firebug){window.firebug=document.createElement("script");
    firebug.setAttribute("src","http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js");
    document.body.appendChild(firebug);
    (function(){if(window.firebug.version)
    {firebug.init()}
    else{setTimeout(arguments.callee)}})();
    void (firebug);
    if(window.debug&&debug.setCallback)
    {(function()
    {if(window.firebug&&window.firebug.version)
    {debug.setCallback(function(b){var a=Array.prototype.slice.call(arguments,1);
    firebug.d.console.cmd[b].apply(window,a)},true)}else{setTimeout(arguments.callee,100)}})()}};';
    echo $browser->run_java_script($dubug_and_firebug);


    Так же можно ознакомиться детально в данной статье javascript-debug-console
  • В:Как запускать jQuery в программе?
    Используется данная команда $browser->run_jquery
  • В: Как средствами программы очистить куки?
    Для этого у Хумана есть функция $browser->clear_cookies($match_name), отправляющая ИЕ команду затереть все куки, имеющие в своих названиях совпадение с переменной $match_name (пример: clear_cookies(‘google’) сотрёт только куки, содержащие в названии "google"). Если переменная пуста, папка очищается полностью.
    Стоит учесть, что не все куки удаляются сразу. Можно использовать restart(); для полной очистки тех куков что висят в памяти браузера, или перейти на другую страницу и вызвать еще раз очистку куков.
  • В: Как проходить http авторизацию?
    Для этого есть функция $browser->set_default_authorization. Функцией browser->reset_default_authorization можно сбросить данные, указанные в предыдущей.
  • В: Можно ли при помощи программы контролировать обмен данными между браузером и сервером?
    Да, используя функции объекта $raw.
  • В:Как работает и для чего служит функция $browser->enable_callback ?
    Данная функция отключает возможность доступа JS к оконным функциям хуман эмулятора, если не стоит галочка в соответствующем пункте настройках программы. Использовалась для корректной работы с сервисами яндекс почты и сервиса YouTube.


Если у вас возникли пожелания какие ответы вы бы хотели видеть здесь еще, пишите в нашу службу поддержки.